Масштабирование коэффициентов и упрощение разностного уравнения

 

Для проектирования фильтра в ТЗ дано его разностное уравнение и соответствующие коэффициенты. Так как ячейка памяти может содержать 8ми разрядно двоичное число, причем старший разряд – знаковый, то необходимо провести округление коэффициентов фильтра до семи разрядов.

При помощи программы Matlab выберем способ округления. Для этого построим АЧХ фильтров при различном округлении (рис. 3) и сравним с АЧХ заданного фильтра. На основе сравнения выберем тот способ, который лучше удовлетворяет ТЗ и виду фильтра (ВЧ).

Возьмем способ округления – отбрасыванием дробной части (зеленый график) (рис. 4).

рис. 3

 

рис. 4

 

  Исходные коэффициенты (Dec) Исходные коэффициенты (Bin) Округленные коэффициенты* (Dec) Округленные коэффициенты* (Bin) (ПК) Округленные коэффициенты (Hex)
B1 0.023815103093366 0,00000110 3 00000011 03
B2 0.014780763864104 0,00000011 1 00000001 01
B3 -0.067269084707391 -0,00010001 -8 10001000 88
B4 0.054715869201380 0,00001110 7 00000111 07
B5 0.089243271343775 0,00010110 11 00001011 0B
B6 -0.295613381939767 -0,01001011 -37 10100101 A5
B7 0.394551759773816 0,01100101 50 00110010 32
B8 -0.295613381939767 -0,01001011 -37 10100101 A5
B9 0.089243271343775 0,00010110 11 00001011 0B
B10 0.054715869201380 0,00001110 7 00000111 07
B11 -0.067269084707391 -0,00010001 -8 00001000 88
B12 0.014780763864104 0,00000011 1 00000001 01
B13 0.023815103093366 0,00000110 3 00000011 03

 

Сумма модулей исходных коэффициентов:

1.48542670807338

Сумма модулей коэффициентов числителя:

1.43750000000000

В ТЗ дано следующее разностное уравнение:

 


                        ,М=12

 

Т.к. заданные коэффициенты симметричны, то разностное уравнение можно преобразовать к следующему виду:

 

 

 


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

Необходимо учесть, что в некоторых случая сумма двух отсчетов может переполнить 8ми разрядную сетку. Поэтому примем, что входные отсчеты по модулю меньше 0.5(10). Тогда сумма этих отсчетов не будет приводить к переполнению разрядной сетки.

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: