Сандық БИХ-фильтрларды жобалау
Сандық сызықты фильтрларды жобалаудың соңғы тапсырмасы болып вектор элементтері алымы а мен бөлімі 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 зертханалық жұмыс
ДИСКРЕТТІ ХАБАРЛАМА КӨЗІНІҢ ТИІМДІ КОДТТАУ ӘДІСІН ЗЕРТТЕУ
Жұмыстың мақсаты: тиімді кодттау әдісін құру және ерекшеліктерінұйрену, сонымен қатар ақпараттық сипаттамасы.
Жұмыстың орындалуы
Достарыңызбен бөлісу: |