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

 
 
> Реализация фильтра
_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
 
Start new topic
Ответов
petrov
сообщение Jun 18 2013, 07:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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
_Anatoliy
сообщение Jun 18 2013, 09:21
Сообщение #3


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

Группа: Свой
Сообщений: 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
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 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, 05:13
- - Lmx2315   ..я может глупость скажу, но мне интересно - почем...   Jun 18 2013, 05:48
|- - _Anatoliy   Цитата(Lmx2315 @ Jun 18 2013, 06:48) ..я ...   Jun 18 2013, 06:12
|- - Maverick   Цитата(_Anatoliy @ Jun 18 2013, 09:12) В...   Jun 18 2013, 06:37
|- - _Anatoliy   Цитата(Maverick @ Jun 18 2013, 07:37) Воз...   Jun 18 2013, 06:54
|- - alex_os   Сигнал должен быть комплексным, оцифровываем на 30...   Jun 18 2013, 07:03
|- - alex_os   Цитата(petrov @ Jun 18 2013, 11:09) Хитры...   Jun 18 2013, 07:23
||- - petrov   Цитата(alex_os @ Jun 18 2013, 11:23) А ка...   Jun 18 2013, 07:31
|- - _Anatoliy   Цитата(alex_os @ Jun 18 2013, 11:18) Нужн...   Jun 18 2013, 10:31
||- - petrov   Цитата(_Anatoliy @ Jun 18 2013, 14:31) О,...   Jun 18 2013, 10:58
||- - _Anatoliy   Цитата(petrov @ Jun 18 2013, 11:58) Возмо...   Jun 18 2013, 11:37
|- - _Anatoliy   Цитата(alex_os @ Jun 18 2013, 11:18) Нужн...   Jun 19 2013, 12:23
|- - alex_os   Цитата(_Anatoliy @ Jun 19 2013, 16:23) Пр...   Jun 20 2013, 06:26
|- - _Anatoliy   Цитата(alex_os @ Jun 20 2013, 07:26) Цикл...   Jun 20 2013, 08:17
|- - alex_os   Цитата(_Anatoliy @ Jun 20 2013, 12:17) Сп...   Jun 20 2013, 08:30
|- - _Anatoliy   Цитата(alex_os @ Jun 20 2013, 09:30) Так ...   Jun 20 2013, 08:50
|- - _Anatoliy   Цитата(_Anatoliy @ Jun 20 2013, 10:50) Ве...   Jun 20 2013, 13:46
|- - petrov   Цитата(_Anatoliy @ Jun 20 2013, 17:46) Но...   Jun 20 2013, 13:55
|- - _Anatoliy   Цитата(petrov @ Jun 20 2013, 15:55) Бабоч...   Jun 20 2013, 14:02
|- - petrov   Ну а что такого написать FFT самому? Куда проще то...   Jun 20 2013, 14:12
|- - _Anatoliy   Цитата(petrov @ Jun 20 2013, 16:12) Ну а ...   Jun 20 2013, 14:16
- - thermit   Цитатаalex_os: А как обычный ЛЧM "натянуть...   Jun 18 2013, 07:48
- - thermit   Вы помоему круто просчитались. Для вычисления непр...   Jun 20 2013, 14:26
|- - _Anatoliy   Цитата(thermit @ Jun 20 2013, 16:26) Спа...   Jun 20 2013, 14:34
|- - Maverick   Цитата(_Anatoliy @ Jun 20 2013, 17:34) к...   Jun 21 2013, 21:06
|- - _Anatoliy   Цитата(Maverick @ Jun 21 2013, 22:06) Сп...   Jun 23 2013, 08:51
|- - _Anatoliy   Сдаётся мне что применение быстрой свёртки для это...   Jun 24 2013, 04:50
|- - Lmx2315   QUOTE (_Anatoliy @ Jun 23 2013, 12:51) По...   Jun 24 2013, 14:26
|- - _Anatoliy   Цитата(Lmx2315 @ Jun 24 2013, 15:26) ..за...   Jun 24 2013, 15:20
|- - Lmx2315   QUOTE (_Anatoliy @ Jun 24 2013, 19:20) По...   Jun 24 2013, 17:14
- - ViKo   Попробую и я ляпнуть глупость. Вы фильтруете прин...   Jun 24 2013, 08:20
|- - _Anatoliy   Цитата(ViKo @ Jun 24 2013, 09:20) Попробу...   Jun 24 2013, 08:39
|- - alex_os   Цитата(_Anatoliy @ Jun 24 2013, 12:39) Не...   Jun 24 2013, 09:03
||- - _Anatoliy   Цитата(alex_os @ Jun 24 2013, 10:03) Не п...   Jun 24 2013, 09:13
||- - alex_os   Цитата(_Anatoliy @ Jun 24 2013, 13:13) Но...   Jun 24 2013, 09:25
||- - _Anatoliy   Цитата(alex_os @ Jun 24 2013, 10:25) Скор...   Jun 24 2013, 10:00
|- - petrov   Цитата(_Anatoliy @ Jun 24 2013, 12:39) Ка...   Jun 24 2013, 10:32
|- - _Anatoliy   Цитата(petrov @ Jun 24 2013, 11:32) в быс...   Jun 24 2013, 10:48
- - thermit   В общем и целом - да. При децимации длина в отсчет...   Jun 24 2013, 14:32


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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 04:51
Рейтинг@Mail.ru


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