[an error occurred while processing this directive]
Вопросы и ответы... (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ASergej_R19 04 марта 2006 г. 12:53
В ответ на: Ответ: отправлено st256 04 марта 2006 г. 09:50

> А причем тут Фурье?

Ну в том смысле, что мне прореживание нужно, чтобы увеличивать разрешение на НЧ при использовании Фурье... И я вот подумал, что делать это надо с помощью КИХ...

> Ну тут однозначно не ответишь, до того как не указаны следующие вещи
> 1. Частота дискретизации до

Прореживание нуно, чтобы задавалось от 0 до 256 произвольно... Можно кратным 2...

> 2. полоса фильтра

КИХ планировался - это вроде как антиалиазинг совмесно с прореживанием. Потому сам по себе КИХ кроме как для задачи прореживания более не нужен...

> 3. прямоугольность (т.е. отношение полосы задерживания к полосе
> пропускания)

Ну это вытекает из пункта 2 -> выполняет функцию антиалиазинга.
Частота дискретизации 48 KHz...

> 4. подавление в полосе задерживания и неравномерность в полосе
> пропускания

0.1 dB - в полосе пропускания... 120 dB - подавление...

> 5. частота дискретизации после

Минимально 48000/256 = 187.5 Hz...

> 6. желательный порядок фильтра

<100...

> Так как ничего этого указано не было, то начну с общих положений.
> Как работает КИХ с N+1 коэффициентами (порядок N)?

Вот! Хотелось бы именно понять как это работает, а уж рассчитать все и построить - эт я все сделаю... Мне бы главное принципы усвоить и осмыслить...

> Он берет N входных значений перемножает их с импульсной
> характеристикой фильтра, а полоченные результаты скдадывает. Т.е.
> x(n) - входные отсчеты, h(k) - импульсная хар-ка (или
> коэффициенты), y(n) - выходные отсчеты.
> y(n)=x(n)*h(0)+x(n-1)*h(1)+...+x(n-N)*h(N)
> y(n+1)=x(n+1)*h(0)+x(n)*h(1)+...+x(n-N+1)*h(N)
> y(n+2)=x(n+2)*h(0)+x(n+1)*h(1)+...+x(n-N+2)*h(N)
> y(n+3)=x(n+3)*h(0)+x(n+2)*h(1)+...+x(n-N+3)*h(N)
> ....
> Если Вам нужно проредить в 3 раза, то считаются только отсчеты y(n)
> и y(n+3). Остальные отсчеты опускаются. Вот Вам уже экономия в 3
> раза по вычислениям.

Я вот тут не понял только одного. Если этот КИХ - антиалиазинг, то одновременно с прореживанием он будет давить частоты выше Fd/2? Вообще конечно должен, ведь мы выкидываем выходные отсчеты.
И еще, если я хочу сразу прореживать скажем в 5 раз с 48 KHz, то антиалиазинг надо строить в районе 4500 Hz и выкидывать отсчеты соответственно?

> Но это только общий подход. Гораздо лучший результат дает БПФ. В
> принципе, БПФ N-го порядка это набор N фильтров вида sin(x)/x с
> прореживанием в N раз.
> Т.е. на вход каждого фильтра подается N входных отсчетов. Каждый
> фильтр обрабатывает массив (фильтрует) и выполняет прореживание в N
> раз - в результате от массива длинной N остается только один
> отсчет. Но т.к. фильтров всего N, то и отсчетов N.
> Проблема в том, что sin(x)/x - очень слабенький фильтр. Т.е. чтобы
> улучшить его характеристики, нужно усложнять алгоритм.
> Как именно, станет ясно после ответа на вопросы в начале.

Вот по поводу этого - очень интересно... Я то, в силу ограниченности знаний, думал что для прореживания надо будет пользоваться самой простой схемой: антиалиазинг, выкидываем отсчеты, антиалиазинг, выкидываем отсчеты? Если это можно сделать с помощью Фурье, то как?

> Насчет warped FFT, я думаю, это не сильно поможет. Это
> преобразование служит не для ускорения, а для получения частотных
> отсчетов расположенных неравномерно (обычное БПФ их располагает
> равномерно).

Мне как раз ускорения не нужно... Мне нужно увеличивать разрешение в отдельных участках спектра. Очень нужно - в НЧ области, в остальных - желательно...

Большое спасибо за то, что мучаетесь со мной...

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru