Сандық БИХ-фильтрларды жобалау
Сандық сызықты фильтрларды жобалаудың соңғы тапсырмасы болып вектор элементтері алымы а мен бөлімі b болатын дискретті беріліс функция G(z), мына түрде болады:
8-ші ретті төмен жиілікті фаза есептеуде керекті АЖС мен алынған фильтрдін АЖС құрамыз
f = [0 0.5 0.5 1]
m = [1 1 0 0]
[b, a] = yulewalk(8, f, m)
[h, w] = freqz (b, a, 128)
plot (f, m, w/pi, abs (h))
grid, title (`Пример использования процедуры yulewalk`)
xlabel (`Нормализованная частота`)
ylabel (`А Ч Х`)
КИХ-фильтрларды жобалау
Дискретті беріліс функциясымен сипатталатын БИХ-фильтрларға қарағанда, КИХ-фильтрлар жалғыз бір вектормен b ғана сипатталады. Дискретті беріліс функциясының алымы 1-ге тең.
MatLAB-та түрлі типтегі терезелерді есептеу үшін мынадай функциялар:
Мысал келтірейік. 0.35/N0.65: жол аралығындағы 24 ретті сызықты КИХ-фильтді есептейік
b = fir1(48, [0.35 0.65]);
freqz(b, 1, 512)
bartlett(n)
|
Бартлетта терезесінің n элементтерінен вектор-баған құрады
|
blackman(n)
|
Блэкман терезесінің n элементтерінен вектор-баған құрады
|
boxcar(n)
|
Тікбұрышты терезенің n элементтерінен вектор-баған құрады
|
chebwin(n, r)
|
Чебышев терезесінің n элементтерінен вектор-баған құрады
|
hamming(n)
|
Хемминг терезесінің n элементтерінен вектор-баған құрады
|
hanning(n)
|
Хеннинг терезесінің n элементтерінен вектор-баған құрады
|
kaizer(n,beta)
|
Кайзер терезесінің n элементтерінен вектор-баған құрады, мұндағы beta Фурье түрлендіру терезесіндегі өшу параметрін анықтайды
|
traing(n)
|
Үшбұрышты терезенің n элементтерінен вектор-баған құрады
|
Мысал келтірейік. 0.35/N0.65: жол аралығындағы 24 ретті сызықты КИХ-фильтді есептейік
b = fir1(48, [0.35 0.65]);
freqz(b, 1, 512)
30 ретті екіжолақты фильтрді есептейік:
f = [0 0.2 0.2 0.6 0.6 0.8 0.8 1];
m = [1 1 0 0 0.5 0.5 0 0];
b = fir2(30, f, m);
[h, w] = fregz(b, 1, 512);
plot (f, m, w/pi, abs (h))
grid
title (`АЧХ КИХ-фильтра (процедура fir2)`)
xlabel (`Нормализованная частота`)
ylabel (`А Ч Х`)
design_flag` параметрі 3 мағынада бола алады:
trace – нәтижені мәтіндік кесте арқылы шығаруды қамтамасыз;
plots –топтық кідіріс,нолдер мен полюстерді және АЖС-ны графиктік түрде бейнелеу үшін;
both – нәтижені мәтіндік және графиктік түрде суреттеу үшін.
fir2 процедурасымен салыстыру үшін алынған АЖС графигін құрайық:
[h, w] = freqz(b, 1, 512)
plot ( w/pi, abs (h))
grid
title (`АЧХ КИХ-фильтра (процедура fircls)`)
xlabel (`Нормализованная частота`)
ylabel (`А Ч Х`)
Флаг `ftype` екі мағынаның біреуінде болуы мүмкін:
hilbert – бұл жағдайда сызықты фазада және тақ симметриядағы фильтрларды жобалайды;
differentiator – арнайы өлшеу әдістерін қолданып, фильтрлерді синтездейді.
17 ретті сызықты фильтрді жобалауға мысал:
f = [0.0.3 0.4 0.6 0.7 1];
a = [0 0 1 1 0 0];
b = remez(17, f, a);
[h,w]=fregz(b,1,512)
plot (f, a, w/pi, abs (h)), grid
title (`АЧХ КИХ-фильтра (процедура remez)`)
xlabel (`Нормализованная частота`)
ylabel (`AЧХ`)
Жұмысты орындау реті
freqs процедурасын пайдаланып АЖС және ФЖС графигін сал.
freqz процедурасын пайдаланып сандық фильтр сипаттамасын сал
Фильтр көмегімен пайдалы сигналды құр, Ts=0.001с периодымен (filter) процедура көмегімен.
filtfilt командасымен берілген процедураны орында. Салыстырып талды.
Ts=0.01, Ts=0.001 шама мәндерімен Гаусстың ақ шуын қалыптастыр. Салыстырып талды.
Бақылау сұрақтары
fregs және процедуралары қандай функцияны орындайды. Бұл процедуралар нені сипаттайды.
Фильтрдің беріліс функциясын және дискретті беріліс функциясын сипатта.
MatLab жүйесінде сигналдардың фильтрациясы қандай процедуралармен іске асырылады?
Фильтрлер қалай қалыптасады
Сигналдар фильтрдан кейін қалпына келеме, не кедергі жасайды?
«Ақ Гаусстық шу» дегеніміз не және ол қалай қалыптасады.
№5 зертханалық жұмыс
ДИСКРЕТТІ ХАБАРЛАМА КӨЗІНІҢ ТИІМДІ КОДТТАУ ӘДІСІН ЗЕРТТЕУ
Жұмыстың мақсаты: тиімді кодттау әдісін құру және ерекшеліктерінұйрену, сонымен қатар ақпараттық сипаттамасы.
Жұмыстың орындалуы
Достарыңызбен бөлісу: |