?? 低通iir型切比雪夫濾波器程序.m
字號:
clear all; %清寄存器值
clc; %清屏
N=256; %數據點數
fs=600; %采樣頻率
dt=1/fs; %采用時間間隔
for k=1:N;
f1=250; %信號1頻率
f2=100; %信號2頻率
f3=270; %信號3頻率
y(k)=sin(2*pi*f1*k*dt)+sin(2*pi*f2*k*dt)+sin(2*pi*f3*k*dt);
end
lp=200; %截止頻率
wn1=2*lp/fs; %函數參數
[z1,p1,k1] = CHEBY1(3,0.5,wn1); %濾波器極、零點表示 ---設計一個3階低通數字切比雪夫濾波器
[b1,a1] = CHEBY1(3,0.5,wn1); %濾波器傳遞函數表示
b1=b1/(8*1.0711); %將參數按比例縮小
a1=a1/(8*1.0711); %為DSP匯編程序做準備,MATLAB中不需要
yy1=filter(b1,a1,y); %濾波
y=fft(y,N); %將原始信號做FFT變換
pyy=y.*conj(y); %做功率譜分析
f=(0:(N/2-1));
for i=1:N/2-1;
f(i)=f(i)*fs/N;
end
figure(1);
plot(f,pyy(1:N/2)) %畫出原始信號的頻譜圖
y=fft(yy1,N); %對濾波后信號的數據做功率譜分析
pyy=y.*conj(y);
f=(0:(N/2-1));
for i=1:N/2-1;
f(i)=f(i)*fs/N;
end
figure(2);
plot(f,pyy(1:N/2)); %畫出濾波后信號的頻譜圖
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -