数字滤波器及切比雪夫滤波器matlab程序

数字滤波器及切比雪夫滤波器matlab程序

数字信号频谱理解

数字信号没有固定的频率,应该首先规定一个抽样频率,即信号的最高频率fm的二倍,然后求信号的频率。

%% 数字信号的频谱理解程序示例 clear clc

x = ones(1,100); for i = 1:2:99 x(i) = -1; end

fs = 100; %规定抽样频率即规定信号的最高频率fm的二倍

X=fft(x,512); %信号的傅里叶变换返回512个点两个周期即最高频率fs f=(0:255)/256*(fs/2); %画图只画到fm 即只画一个周期的频谱图 plot(f,abs(X(1:256)')); %频谱图 xlabel('频率(Hz)'); ylabel('幅值'); title('信号频率'); grid;

Filter和impz简介

分别用filter(滤波函数filter(b,a,x))及impz函数获取指定离散系统(b=[0 0.5 0.3 0.2]),a=a=[1 0.2 0.4 -0.8])的单位抽样响应;用freqz函数获取系统的频率响应;分别用root及zplane函数获取系统的零极点图及增益。

程序代码:

a_2_SignalProcess.m文件源代码

%Matlab常用信号分析处理函数演示实例:编写一个M文件,分别用filter及impz函数获取指定离散系统

%(b=[0.8 0.5 0.6],a=[1 0.2 0.4 -0.8])的单位抽样响应;用freqz函数获取系统的频率响应;分

%别用root及zplane函数获取系统的零极点图及增益。

L=128; %单位抽样序列的长度 Fs=1000; %采样频率为1KHz

b=[0.8 0.5 0.6]; %系统函数的分子系数向量 a=[1 0.2 0.4 -0.8]; %系统函数的分母系数向量 delta=[1 zeros(1,L-1)]; %生成长度为L的单位抽样序列

FilterOut=filter(b,a,delta); %filter函数获取单位抽样响应 ImpzOut=impz(b,a,L); %impz函数获取单位抽样响应 [h,f]=freqz(b,a,L,Fs); %freqz函数求频率响应 mag=20*log(abs(h))/log(10); %幅度转换成dB单位 ph=angle(h)*180/pi; %相位值单位转换 zr=roots(b) %求系统的零点,并显示在命令窗口 pk=roots(a) %求系统的极点,并显示在命令窗口 g=b(1)/a(1) %求系统的增益,并显示在命令窗口 %绘图 figure(1);

subplot(221);stem(FilterOut);

title('filter()获取单位抽样响应','fontsize',8); subplot(222);stem(ImpzOut);

title('impz()获取单位抽样响应','fontsize',8); subplot(223);plot(f,mag); xlabel('频率(Hz)','fontsize',8); ylabel('幅度(dB)','fontsize',8); title('freqz()幅频响应','fontsize',8); subplot(224);plot(f,ph); xlabel('频率(Hz)','fontsize',8); ylabel('相位(度)','fontsize',8); title('freqz()相频响应','fontsize',8); figure(2);

freqz(b,a); %用feqz函数绘制系统频率响应 title('freqz()自动绘制的频率响应图','fontsize',14); figure(3);

zplane(b,a);%用zplane函数绘制系统零极点图

title('zplane()自动绘制的系统零极点图','fontsize',14);

切比雪夫滤波器:

注:

freqs:频率响应函数频域滤波 filter:系统函数时域滤波 N:滤波器阶数 Wn:带宽 Wp:通带截止频率 Ws:阻带起始频率 Rp:通带波纹 Rs:阻带最小衰减

切比雪夫I型滤波器设计及滤波程序

? 实例程序:

%% 信号的产生 clear; clc; f1=5; f2=15; f3=30; N=100;

fs=60; %采样频率

n=(0:N-1); %采样点数为N x1=sin(2*pi*f1*n/fs); x2=sin(2*pi*f2*n/fs);

x3=sin(2*pi*f3*n/fs); %模拟信号转化为数字信号 x=x1+x2+x3; %信号叠加 % figure subplot(221);

plot(n,x); %作出时间-幅值图像 xlabel('时间(s)'); ylabel('幅值');

title('时域信号波形'); grid;

%% 低通滤波器设计 Wp=8;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4