Разработка системы сжатия эхо-сигналов различной длительности

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ии с выражением:

. (2.1)

Структурная схема КИХ фильтра показана на рисунке 2.1.

Рисунок 2.1 Блок-схема КИХ-фильтра комплексного сигнала

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

Порядок КИХ фильтра определяется длиной его импульсной характеристики (в общем случае комплексной) h(n), которая имеет вид:

(n) = Re(h(n)) + j. Im(h(n)), где (2.2)(h(n)) = Re(h0).?(n,0) + Re(h1).?(n,1) + тАж+ Re(hNh-1.?(n,Nh-1) (2.3)

Im(h(n)) = Im(h0).?(n,0) + Im(h1).?(n,1) + тАж+ Im(hNh-1.?(n,Nh-1) (2.4)

и Nh - длина импульсной характеристики фильтра, n - номер отсчета, ?(n,i) - дельта символ Кронекера, принимающий значение 1 при n = i и 0 при n ? i.

Пусть x(n) - цифровой комплексный сигнал, поступающий на вход КИХ-фильтра с импульсной характеристикой h(n), который имеет вид:(n) = Re(x(n)) + j. Im(x(n)), (2.5)

где Re(x(n)) = Re(x(n)) + Re(x(n-1)) + Re(x(n-2)) + тАж+ Re(x(n-(Nx-1))) (2.6)

(x(n)) = Im(x(n)) + Im(x(n-1)) + Im(x(n-2)) + тАж+ Im(x(n-(Nx-1))) (2.7)

и Nx = 128 - количество обрабатываемых отсчетов сигнала x(n).

Тогда выходной сигнал y(n) ,будет определяться как:

(n) = x(n) . h(n). (2.8)

или y(n) = [Re(x(n)) + j. Im(x(n))].[Re(h(n)) + j.Im(h(n))]. (2.9)

Выражение (2.8) можно представить для наглядности в виде:

(n)=[Re(x(n)).Re(h(n))-Im(x(n)).Im(h(n))]+j.[Re(x(n)). Im(h(n))+Im(x(n)).Re(h(n))] (2.10)

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

умн КИХ = 4.Nh (2.11)

умножения с действительными числами. Не сложно показать, что количество сложений/вычитаний с действительными числами будет равно:

сл КИХ = 4.(Nh -1) + 2. (2.12)

Следует заметить, что количество умножителей и сумматоров для КИХ фильтра будет равняться Pумн КИХ и Pсл КИХ соответственно. Для того, чтобы получить оценку количества операций для обработки всей последовательности отсчетов x(n), необходимо умножить предыдущие результаты (2.11) и (2.12) на Nx = 128, получим:

умн КИХ ? = 4.Nh.Nx (2.13)

умножений и

сл КИХ ? = (4.(Nh -1) + 2).Nx (2.14)

сложений с действительными числами.

Таким образом была получена априорная оценка количества операций.

iелью организации линии задержек (ЛЗ) на один интервал следования отсчетов целесообразно использовать параллельные регистры соответствующей разрядности (здесь и далее разрядность отсчетов не будет учитываться, так как предполагается, что на входы рассматриваемых фильтров поступает одна и та же последовательность x(n)). Очевидно, что количество регистров задержки хорошо аппроксимируется выражением

Рлз КИХ= 2.(Nh -1). (2.15)

Заметим, что для построения фильтра, необходимо иметь запоминающее устройство (ПЗУ) для хранения значений отсчетов импульсной характеристики. Очевидно, что ЗУ должно осуществлять хранение действительной и мнимой частей Nh отсчетов, по этому количество слов ПЗУ можно определить как

Рпзу КИХ= 2.Nh. (2.16)

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

1)все блоки фильтра синхронизированы между собой

2)исходя из предположения о том, что интервал следования отсчетов равен длительности одного такта, то для простоты анализа положим, что время вычисления суммы/разности (Тсумм) и произведения (Тумн) двух чисел занимают ровно один тактовый интервал (Тт)

)время задержки регистров сдвига (Трег) равняется одному такту.

Время вычисления Тких - время, через которое n-й отсчет появится на выходе фильтра, будет определяться суммой задержек регистров, умножителя и сумматоров/вычитателей:

Тких=Трег+Тумн+Тсумм=(Nh -1).Тт+Тт+(log2Nh+1).Тт=(Nh+ log2Nh+1) .Тт (2.17)

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

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

Для осуществления процесса фильтрации цифрового сигнала по одному из алгоритмов быстрой линейной свертки необходимо выполнить следующие этапы:

) выполнить быстрое преобразование Фурье (БПФ) над комплексными отсчетами x(n) и получить последовательность X(k). По идее, БПФ необходимо произвести и над отсчетами импульсной характеристики h(n), но целесообразно исходить из предположения, что проектируемый фильтр не будет изменять свою частотную характеристику в процессе работы. Таким образом, можно выполнить БПФ над h(n) и внести результат H(k) в память проектируемого фильтра

) выполнить перемножение соответствующих отсчетов X(k) и H(k), получив новую последовательность Y(k) = X(k).H(k)

) выполнить обратное БПФ над Y(k).

Прежде чем приступить к оценке количества аппаратурных ресурсо