реклама на сайте
подробности

 
 
> Реализация фильтра
_Anatoliy
сообщение Jun 18 2013, 05:13
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Всем доброго времени суток.Есть задача - сделать фильтр согласованный с входным сигналом.Входной сигнал представляет собой радиоимпульс ЛЧМ с полосой 300МГц и длительностью 25 мкс. При оцифровке сигнала,например,с частотой 1ГГц получается окно для фильтрации 25000 отсчётов.Ясно что такой фильтр ни в какую FPGA не поместится,это если делать в лоб,во времеННой области.Как делать в частотной области - вообще не понятно,ведь время прихода сигнала не известно.Может есть какие хитрые приёмы реализации подобных фильтров?
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 41)
Lmx2315
сообщение Jun 18 2013, 05:48
Сообщение #2


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



..я может глупость скажу, но мне интересно - почему нельзя этот сигнал не спеша в компе фильтровать после записи? ( ну или спеша фильтровать на быстром компе) .


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 18 2013, 06:12
Сообщение #3


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Lmx2315 @ Jun 18 2013, 06:48) *
..я может глупость скажу, но мне интересно - почему нельзя этот сигнал не спеша в компе фильтровать после записи? ( ну или спеша фильтровать на быстром компе) .

Думаю что не глупость,но реалтайм - это требование заказчика.Период следования радиоимпульсов 100мкс,результат фильтрации нужно выдавать по каждому импульсу.Почему так - не знаю.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jun 18 2013, 06:37
Сообщение #4


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(_Anatoliy @ Jun 18 2013, 09:12) *

Возможно глупо, но как вариант:
а если коеффициенты фильтра хранить в ОЗУ (переписывая их в ОЗУ с какой нибудь EPROM в начале работы)


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 18 2013, 06:54
Сообщение #5


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Maverick @ Jun 18 2013, 07:37) *
Возможно глупо, но как вариант:
а если коеффициенты фильтра хранить в ОЗУ (переписывая их в ОЗУ с какой нибудь EPROM в начале работы)

Я вообще-то так и хочу сделать для наложения разных окон,но что это даст? Посчитайте количество перемножителей для реализации фильтра...
Сейчас уточняю,но фильтр может быть и комплексным wacko.gif
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 18 2013, 07:03
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Сигнал должен быть комплексным, оцифровываем на 300 МГц (возможно с некоторой потерей полосы). Далее FFT на 16К ( 8K отсчетов 8K коэффициентов) -> IFFT. В достаточно жирную плисину должно влезть.
p.s. Вообще т.к сигнал ЛЧМ наверняка какие-то есть трюки чтобы удешевить такой фильтр.
p.p.s Может быть нужно фильтр строит не FIR а IIR ? Будет некая аппроксимация согласованного фильтра.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 18 2013, 07:09
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Jun 18 2013, 09:13) *
Как делать в частотной области - вообще не понятно,ведь время прихода сигнала не известно.


Чем не устраивает быстрая свёртка? Коэффициенты фильтра можно считать на лету.

Цитата(_Anatoliy @ Jun 18 2013, 09:13) *
Может есть какие хитрые приёмы реализации подобных фильтров?


Хитрые приёмы связаны с хитрыми CAZAC последовтаельностями, посмотрите последовательности Chu если так ЛЧМ хочется.
Для некоторых последовательностей согласованные фильтры очень простые, например Golay Complementary Sequences.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 18 2013, 07:23
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(petrov @ Jun 18 2013, 11:09) *
Хитрые приёмы связаны с хитрыми CAZAC последовтаельностями, посмотрите последовательности Chu если так ЛЧМ хочется.


А как обычный ЛЧM "натянуть" на CAZAC поcледовательности? Т.е. возможно разложение ЛЧМ в базисе хитрых последовательностей ?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 18 2013, 07:31
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(alex_os @ Jun 18 2013, 11:23) *
А как обычный ЛЧM "натянуть" на CAZAC поcледовательности? Т.е. возможно разложение ЛЧМ в базисе хитрых последовательностей ?


Имел ввиду зачем использовть тупые решения вековой давности вообще при доступности современной теории и средств обработки?
Go to the top of the page
 
+Quote Post
thermit
сообщение Jun 18 2013, 07:48
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
alex_os:
А как обычный ЛЧM "натянуть" на CAZAC поcледовательности?


Чего там натягивать? cazac-последовательность сама по себе лчм.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 18 2013, 09:21
Сообщение #11


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(petrov @ Jun 18 2013, 08:09) *
Чем не устраивает быстрая свёртка? Коэффициенты фильтра можно считать на лету.
Хитрые приёмы связаны с хитрыми CAZAC последовтаельностями, посмотрите последовательности Chu если так ЛЧМ хочется.
Для некоторых последовательностей согласованные фильтры очень простые, например Golay Complementary Sequences.

Спасибо за ответ,начал поиск литературы.

Как я понял - быстрая свёртка это и есть то что я назвал в топовом сообщении "в частотной области". А здесь мне не понятен один момент:для FFT я набираю массив данных длиной 2^N,но может статься что в этом массиве окажется например 30% импульса ЛЧМ,следующие 70% попадут уже в следующий набор данных.Это как то скажется на качестве корреляции?Мне сдаётся что вместо одного пика на выходе согласованного фильтра я получу два пика(для первого и второго набора данных).
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 18 2013, 10:18
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(_Anatoliy @ Jun 18 2013, 13:21) *
Спасибо за ответ,начал поиск литературы.

Как я понял - быстрая свёртка это и есть то что я назвал в топовом сообщении "в частотной области". А здесь мне не понятен один момент:для FFT я набираю массив данных длиной 2^N,но может статься что в этом массиве окажется например 30% импульса ЛЧМ,следующие 70% попадут уже в следующий набор данных.Это как то скажется на качестве корреляции?Мне сдаётся что вместо одного пика на выходе согласованного фильтра я получу два пика(для первого и второго набора данных).


Нужно использовать результаты предидидущих блоков. Как вариант см. код ниже. Используется тот факт что свертка суммы последовательностей есть сумма сверток. Хорошо написано было про это кажется у Рабинера с Голдом.

Код
N = 13;
x = randn(1, 7*N);  % signal
h = randn(1,N);     % impulse response of a filter

yref = conv(x, h);

y = zeros(1, length(x)+length(h)-1);

% size of FFT is 2*N !!!
H = fft([h, zeros(1,N)]);
prev_hx = zeros(1, N-1);

for i=1:7
    
    X = fft([x((i-1)*N+1 : i*N), zeros(1,N)]);
    hx = ifft(H.*X);
    % прибавляем предидущий хвост
    hx(1:N-1) = hx(1:N-1) + prev_hx;
    prev_hx = hx(N+1:end-1);
    % запоминаем "хвост"  
    y((i-1)*N+1 : i*N) = hx(1:N);
end

figure(1);
% Результаты вычисленные двумя способами идентичны
plot(1:7*N, yref(1:7*N), 1:7*N, y(1:7*N))



--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 18 2013, 10:31
Сообщение #13


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(alex_os @ Jun 18 2013, 11:18) *
Нужно использовать результаты предидущих блоков. Как вариант см. код ниже. Используется тот факт что свертка суммы последовательностей есть сумма сверток. Хорошо написано было про это кажется у Рабинера с Голдом.

О,спасибо!Почитаю этот источник и поиграюсь с матлабом.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 18 2013, 10:58
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Jun 18 2013, 14:31) *
О,спасибо!Почитаю этот источник и поиграюсь с матлабом.


Возможно обратно во временную область не нужно переходить, FFT от ЛЧМ тоже ЛЧМ, смещение во времени переходит в смещение по частоте, можно обнаруживать в частотной области, в общем статей на эту тему полно в гугле.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 18 2013, 11:37
Сообщение #15


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(petrov @ Jun 18 2013, 11:58) *
Возможно обратно во временную область не нужно переходить, FFT от ЛЧМ тоже ЛЧМ, смещение во времени переходит в смещение по частоте, можно обнаруживать в частотной области, в общем статей на эту тему полно в гугле.

Ага,спасибо!Это я уже на моделях посмотрю.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 19 2013, 12:23
Сообщение #16


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(alex_os @ Jun 18 2013, 11:18) *
Нужно использовать результаты предидущих блоков. Как вариант см. код ниже. Используется тот факт что свертка суммы последовательностей есть сумма сверток. Хорошо написано было про это кажется у Рабинера с Голдом.

Проясните,пожалуйста,один вопрос. У Вас в скрипте используется цикл 1:7,для примера это очень подходит. Вопрос касается практической реализации - можно ли этот цикл сделать бесконечным? Не станет ли алгоритм неустойчивым в процессе длительной работы? Я имею ввиду накопление погрешности фиксированной точки при вычислениях. Или нужно применять какие-то меры?
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 20 2013, 06:26
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(_Anatoliy @ Jun 19 2013, 16:23) *
Проясните,пожалуйста,один вопрос. У Вас в скрипте используется цикл 1:7,для примера это очень подходит. Вопрос касается практической реализации - можно ли этот цикл сделать бесконечным? Не станет ли алгоритм неустойчивым в процессе длительной работы? Я имею ввиду накопление погрешности фиксированной точки при вычислениях. Или нужно применять какие-то меры?


Цикл может быть сколь угодно длинным. Накопление погрешности не происходит. Рекурсия отсутствует, т.е. выходной
блок данных зависит от входных отсчетов, но не зависит от предидущего выходного блока.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 20 2013, 08:17
Сообщение #18


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(alex_os @ Jun 20 2013, 07:26) *
Цикл может быть сколь угодно длинным. Накопление погрешности не происходит. Рекурсия отсутствует, т.е. выходной
блок данных зависит от входных отсчетов, но не зависит от предидущего выходного блока.

Спасибо!
Только всё равно пока не выходит каменный цветок.
1).Входной поток данных с АЦП равен 1GSPS.Понятно,что FFT на такой скорости я сделать не смогу.Если КИХ-фильтры легко распараллеливаются для снижения тактовой частоты,то как сделать такое распараллеливание для FFT я пока не представляю.
2).Допустим я нашёл метод распараллеливания FFT на два канала,тогда скорость работы каждого канала будет 500МГц. Думаю что для Виртекса это нормальная частота. Считаем дальше : длина ИХ составляет 25000 отсчётов,предполагаю(может ошибаюсь) что при распараллеливании FFT длина ИХ уменьшится вдвое,получаем 12500 отсчётов. Из приведенного Вами скрипта видно что размер FFT равен удвоенной длине ИХ,итого требуемый размер FFT составит 32768. FFT такого размера на частоте 500Мгц будет выполняться 132 мкс плюс IFFT , итого 264 мкс что больше требуемых 100 мкс.
Поправьте,плз,если где ошибся.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 20 2013, 08:30
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(_Anatoliy @ Jun 20 2013, 12:17) *
Спасибо!
Только всё равно пока не выходит каменный цветок.
1).Входной поток данных с АЦП равен 1GSPS.Понятно,что FFT на такой скорости я сделать не смогу.Если КИХ-фильтры легко распараллеливаются для снижения тактовой частоты,то как сделать такое распараллеливание для FFT я пока не представляю.


Так нужно сигнал снести в ноль (если еще не снесен) отфильтровать и децимировать раза в 2-3. Центральная частота ЛЧМ примерно известна?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 20 2013, 08:50
Сообщение #20


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(alex_os @ Jun 20 2013, 09:30) *
Так нужно сигнал снести в ноль (если еще не снесен) отфильтровать и децимировать раза в 2-3. Центральная частота ЛЧМ примерно известна?

Центральную частоту сигнала я могу сам выбирать.Сигнал широкополосный (примерно 350МГц), тактовая 1ГГЦ самое то. Правда есть вариант расщепить в аналоге на Real и Imag и применить двойной АЦП с тактовой 500МГц,но не уверен что в такой широкой полосе удасться получить малый разброс фазовых и амплитудных характеристик.

Вот я ступил sad.gif

Ведь если использовать один АЦП для реального сигнала, а в ПЛИС умножить его на комплексную экспоненту с нужной частотой (снести в ноль) то тогда действительно можно выполнить децимацию в два раза.Тогда вместо 264мкс получим 132мкс,возможно удастся договориться.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 20 2013, 13:46
Сообщение #21


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(_Anatoliy @ Jun 20 2013, 10:50) *
Ведь если использовать один АЦП для реального сигнала, а в ПЛИС умножить его на комплексную экспоненту с нужной частотой (снести в ноль) то тогда действительно можно выполнить децимацию в два раза.Тогда вместо 264мкс получим 132мкс,возможно удастся договориться.

Но распараллеливание FFT всё равно нужно,без него те же 264мкс и получаются.Кто нибудь знает как это делается? wacko.gif
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 20 2013, 13:55
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Jun 20 2013, 17:46) *
Но распараллеливание FFT всё равно нужно,без него те же 264мкс и получаются.Кто нибудь знает как это делается? wacko.gif


Бабочку можно сделать не только по основанию 2, но и 4,8,16... вплоть до однотактовой комбинационной схемы на весь блок.


Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 20 2013, 14:02
Сообщение #23


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(petrov @ Jun 20 2013, 15:55) *
Бабочку можно сделать не только по основанию 2, но и 4,8,16... вплоть до однотактовой комбинационной схемы на весь блок.

Это если самому писать.Я пока пробую с IPcore FFT,для сравнения 32768 точек RADIX2 = 623мкс,RADIX4 = 262мкс,STREAMING = 132мкс.
Т.е. единственный выход - самому писать с нужным основанием? Мне бы так микросекунд за 50 успеть...
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 20 2013, 14:12
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Ну а что такого написать FFT самому? Куда проще то? Диодами моргать чтоли? Так можно вообще всю задачу заказать кому-нибудь.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 20 2013, 14:16
Сообщение #25


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(petrov @ Jun 20 2013, 16:12) *
Ну а что такого написать FFT самому? Куда проще то? Диодами моргать чтоли? Так можно вообще всю задачу заказать кому-нибудь.

Да я ж не против,просто корки для того и написаны чтобы меньше рутины было.А раз корку применить не удастся - буду сам писать.
Go to the top of the page
 
+Quote Post
thermit
сообщение Jun 20 2013, 14:26
Сообщение #26


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Вы помоему круто просчитались. Для вычисления непрерывной апериодической свертки с ядром в 25000 отсчетов и дпф 32768 у вас размер блока данных 32768-25000+1=7769 отсчетов что на 500msps составит ~ 15.5 us. Так что тока параллелить. Но не бпф, а саму свертку разбивать на маленькие куски например по 2к и эти сравнительно короткие свертки вычислять уже параллельно штатной корой. Если у плис ресурса хватит, конечно...

Сообщение отредактировал thermit - Jun 21 2013, 08:28
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 20 2013, 14:34
Сообщение #27


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(thermit @ Jun 20 2013, 16:26) *

Спасибо за замечание,пока не готов ответить,нужно ещё раз всё переосмыслить.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jun 21 2013, 21:06
Сообщение #28


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(_Anatoliy @ Jun 20 2013, 17:34) *

кстати вот тут ребята плотно обсуждали создание FFT
даже что-то поучили...
возможно поможет...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 23 2013, 08:51
Сообщение #29


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Maverick @ Jun 21 2013, 22:06) *

Спасибо,эту тему я видел.Сейчас прорабатываю мысль thermit со штатной коркой,пока результата нет.Если не выйдет - буду смотреть в сторону FFT с Radix-16.

По ходу вопрос возник. При децимации входного сигнала будет ухудшаться чувствительнось согласованного фильтра? Ведь при децимации , например, в 2 раза ИХ станет в 2 раза короче.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 24 2013, 04:50
Сообщение #30


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Сдаётся мне что применение быстрой свёртки для этой задачи - это путь в никуда. Полный фиаско. wacko.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 24 2013, 08:20
Сообщение #31


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Попробую и я ляпнуть глупость. sm.gif Вы фильтруете принятый ЛЧМ импульс, который придет неизвестно когда. У вас будет синхронизатор, позволяющий запускать фильтр синхронно? Импульсов же может быть много, они и перекрываться могут... Не сделать ли обычный фильтр с АЧХ, соответствующей спектру сигнала?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 24 2013, 08:39
Сообщение #32


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(ViKo @ Jun 24 2013, 09:20) *
Попробую и я ляпнуть глупость. sm.gif Вы фильтруете принятый ЛЧМ импульс, который придет неизвестно когда. У вас будет синхронизатор, позволяющий запускать фильтр синхронно? Импульсов же может быть много, они и перекрываться могут...

Нет,синхронизатора не будет,входной сигнал может быть под шумом(отрицательный snr). Этот коррелятор сам является обнаружителем сигнала.
Цитата(ViKo @ Jun 24 2013, 09:20) *
Не сделать ли обычный фильтр с АЧХ, соответствующей спектру сигнала?


Почитайте внимательно корневой пост, есть хоть один чип на котором можно собрать КИХ-фильтр с длиной ИХ 25000 семплов в реал-тайме?
Если бы речь шла хотя-бы о 2000 семплов,то эта тема,очевидно,даже не возникла бы. Как альтернативу КИХ мне посоветовали применить быструю свёртку. Всё вроде склеивалось, пока не заметил что в алгоритме от alex_os перемножителей для перемножений частотных образов сигнала и ИХ нужно в два раза больше чем требуется для КИХ(чтобы не потерять "хвосты" от предыдущего кадра). За деревьями леса не заметил.
Я в печали.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 24 2013, 09:03
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(_Anatoliy @ Jun 24 2013, 12:39) *
Нет,синхронизатора не будет,входной сигнал может быть под шумом(отрицательный snr). Этот коррелятор сам является обнаружителем сигнала.


Почитайте внимательно корневой пост, есть хоть один чип на котором можно собрать КИХ-фильтр с длиной ИХ 25000 семплов в реал-тайме?
Если бы речь шла хотя-бы о 2000 семплов,то эта тема,очевидно,даже не возникла бы. Как альтернативу КИХ мне посоветовали применить быструю свёртку. Всё вроде склеивалось, пока не заметил что в алгоритме от alex_os перемножителей для перемножений частотных образов сигнала и ИХ нужно в два раза больше чем требуется для КИХ(чтобы не потерять "хвосты" от предыдущего кадра). За деревьями леса не заметил.
Я в печали.

Не печальтесь! Разделите длинный фильтр на несколько покороче ( типа в одно фильтре первая половина ИХ длинного фильтра, в другом вторая половина). Короткие фильтры запускаете параллельно выходы их суммируете. Каждый фильтр быстрой сверткой делать. Ув. termit писал про это.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 24 2013, 09:13
Сообщение #34


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(alex_os @ Jun 24 2013, 10:03) *
Не печальтесь! Разделите длинный фильтр на несколько покороче ( типа в одно фильтре первая половина ИХ длинного фильтра, в другом вторая половина). Короткие фильтры запускаете параллельно выходы их суммируете. Каждый фильтр быстрой сверткой делать. Ув. termit писал про это.

Но общее количество умножителей от такого решения не уменьшится же laughing.gif
Go to the top of the page
 
+Quote Post
alex_os
сообщение Jun 24 2013, 09:25
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(_Anatoliy @ Jun 24 2013, 13:13) *
Но общее количество умножителей от такого решения не уменьшится же laughing.gif

Скорее даже увеличится sm.gif. Кстати, видел реализацию ЛЧМ в виде штук 10 секций IIR второго порядка, может такая штука подойдет? Как синтезировать такой фильтр слабо представляю, наверное нечто вроде фазовращателя который делает квадратичную ФЧХ.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 24 2013, 10:00
Сообщение #36


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(alex_os @ Jun 24 2013, 10:25) *
Скорее даже увеличится sm.gif.

А вот это точно!
Насчёт БИХ тоже слабо представляю.Подумаем.
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 24 2013, 10:32
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Jun 24 2013, 12:39) *
Как альтернативу КИХ мне посоветовали применить быструю свёртку. Всё вроде склеивалось, пока не заметил что в алгоритме от alex_os перемножителей для перемножений частотных образов сигнала и ИХ нужно в два раза больше чем требуется для КИХ(чтобы не потерять "хвосты" от предыдущего кадра).


Как-то странно вы оцениваете, у КИХ фильтра эти умножители работают на входной частоте, в быстрой свёртке на блочной частоте, грубо говоря заменяются одним последовательным умножителем.

А вообще меняйте ЛЧМ на фазоманипулированные последовательности, никаких умножителей, быстрые алгоритмы с малым числом сложений.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 24 2013, 10:48
Сообщение #38


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(petrov @ Jun 24 2013, 11:32) *
в быстрой свёртке на блочной частоте, грубо говоря заменяются одним последовательным умножителем.

А вот это сильно,спасибо!Самое грустное что этот вариант у меня был с самого начала в запасе,потом закрутился и напрочь забыл о нём,как отрезало.
Значит жизнь продолжается,продолжу дальше секционировать свёртки по совету ув. thermit. А то было забросил уже...
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jun 24 2013, 14:26
Сообщение #39


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (_Anatoliy @ Jun 23 2013, 12:51) *
По ходу вопрос возник. При децимации входного сигнала будет ухудшаться чувствительнось согласованного фильтра? Ведь при децимации , например, в 2 раза ИХ станет в 2 раза короче.

..заинтересовал этот вопрос - вы сами нашли ответ на него?
Моё мнение - при децимации (с предварительной фильтрацией дабы не было альязинга) мы не можем потерять С/Ш , наоборот С/ш улучшиться , за счёт фильтрации широкополосных шумов.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
thermit
сообщение Jun 24 2013, 14:32
Сообщение #40


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



В общем и целом - да. При децимации длина в отсчетах уменьшится, но и период дискретизации увеличится, длительность не изменится. снр будет по крайней мере не хуже.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 24 2013, 15:20
Сообщение #41


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Lmx2315 @ Jun 24 2013, 15:26) *
..заинтересовал этот вопрос - вы сами нашли ответ на него?
Моё мнение - при децимации (с предварительной фильтрацией дабы не было альязинга) мы не можем потерять С/Ш , наоборот С/ш улучшиться , за счёт фильтрации широкополосных шумов.

По моим наблюдениям чем меньше отсчётов содержится в радиоимпульсе - тем меньше амплитуда пика корреляции на выходе СФ(при прочих равных условиях).
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Jun 24 2013, 17:14
Сообщение #42


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (_Anatoliy @ Jun 24 2013, 19:20) *
По моим наблюдениям чем меньше отсчётов содержится в радиоимпульсе - тем меньше амплитуда пика корреляции на выходе СФ(при прочих равных условиях).


..да, но при децимации число полезных отсчётов проходящих через децимирующий фильтр и оставляющих там след - не уменьшается.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 10:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01858 секунд с 7
ELECTRONIX ©2004-2016