Doimiy filtrni kechiktirish uchun kompensatsiya
Yuqorida aytib o‘tilganidek, chastotaning doimiy funktsiyasi ekanligini
tekshirish uchun filtrning kechikish guruhini o‘lchashingiz mumkin. Siz grpdelay
funksiyasidan filtr kechikishini o‘lchash uchun foydalanishingiz mumkin, D va bu
kechikishning o‘rnini kirish signaliga D nol qo‘shish va chiqish signalini vaqt
bo‘yicha D namunalari bilan o‘zgartirish orqali qoplashingiz mumkin.
75
Hz dan yuqori chastotali shovqinni olib tashlash uchun filtrlashni
xohlagan shovqinli elektrokardiogramma signalini ko‘rib chiqing. Siz shovqinli va
filtrlangan signallarni to‘g‘ri tekislashi va taqqoslash uchun bir-birining ustiga
chizilgan bo‘lishi uchun FIR past o‘tkazuvchan filtrini qo‘llamoqchisiz va filtr
kechikishini kompensatsiya qilmoqchisiz.
Misol:
Fs = 500;
% Sample rate in Hz
N = 500;
% Number of signal samples rng default;
x = ecg(N)'+0.25*randn(N,1); % Noisy waveform t = (0:N-1)/Fs;
% Time
vector
O‘chirish chastotasi 75 Gts bo‘lgan 70-darajali past chastotali FIR filtrini
loyihalash.
Fnorm = 75/(Fs/2);
% Normalized frequency
df3 = designfilt("lowpassfir",FilterOrder=70,CutoffFrequency=Fnorm);
Filtrning chiziqli faza ekanligini ko‘rsatuvchi barcha chastotalarda doimiy
ekanligini tekshirish uchun filtrning guruh kechikishini chizing. Filtrning
kechikishini o‘lchash uchun guruh kechikishidan foydalaning.
grpdelay(df3,2048,Fs)
% Plot group delay
5.1– rasm. Yuqori chastotali shovqinni olib tashlash
.
D = mean(grpdelay(df3)) % Filter delay in samples D = 35
Filtrlashdan oldin, kirish ma’lumotlar vektorining oxiriga D nol qo‘shing, x.
Bu barcha foydali namunalarni filtrdan chiqarib tashlashni va kirish signali va
kechikish bilan kompensatsiyalangan chiqish signalining uzunligi bir xil bo‘lishini
ta'minlaydi. Ma'lumotni filtrlang va chiqish signalini D namunalari bilan
almashtirish orqali kechikishni qoplang. Ushbu oxirgi qadam filtrning vaqtinchalik
holatini samarali ravishda olib tashlaydi.
y = filter(df3,[x; zeros(D,1)]); % Append D zeros to the input data y =
y(D+1:end);
% Shift data to compensate for delay
plot(t,x,t,y,LineWidth=1.5)
title("Filtered Waveforms") xlabel("Time (s)")
legend("Original Noisy Signal","Filtered Signal") grid on
axis tight
5.1
– rasm. Shovqinni ajratib olish jarayoni.
|