文档库 最新最全的文档下载
当前位置:文档库 › 白化滤波器 matlab 程序

白化滤波器 matlab 程序

白化滤波器 matlab 程序
白化滤波器 matlab 程序

白化滤波器

原理

在统计信号处理中,往往会遇到等待处理的随机信号是非白色的,例如云雨、海浪、地物反射的杂乱回波等,它们的功率谱即使在信号通带内也非均匀分布。这样会给问题的解决带来困难。克服这一困难的措施之一是对色噪声进行白化处理。主要内容是设计一个稳定的线性滤波器,将输入的有色噪声变成输出的白噪声。

在这里,我们就对一般的具有功率谱)(ωx G 的平稳随机过程X(t)白化处理问题进行讨论。为了具体的进行分析和计算,假设)(ωx G 可以表达成有理数的形式,即

)

)......(())......(()(112m n x Z Z a G βωβωωωω++++= m n Z β≠ 其中分子、分母为多项式。这个假设对于通常见到的功率谱是很近似的,而且有可行的方法用有理数去逼近任意的功率谱密度。

由于)(ωx G 是功率谱,它的平稳随机过程相关函数的傅里叶变换具有非负的实函数和偶函数的性质。这些性质必然在其有理函数的表示式中体现出来,特别是,)(ωx G 的零、极点的分布和数量会具有若干个特点。

由于)(ωx G 是实函数,因此有:)()(*ωωx x G G =,2

a 是实数,)(ωx G 的零、极点是共轭成对的。从而也可以把)(ωx G 的表示式写成如下形式:

??????+-+-+-+-?????

?++++=))......(())......(())......(())......(()(1111l k l k x j j j j a j j j j a G βωβωαωαωβωβωαωαωω 把ω开拓到复平面s 中去,另ωσj s +=。用s 代替ωj 就可以把函数)(ωx G 扩大到整个复平面。)(ωx G 的零、极点必将对称于σ轴,如图13所示:

图13 由于)(ωx G 是偶函数,因此不难判断,)(ωx G 的零、极点是象限对称的,从而对于ωj 轴也是对

称的。

由于0)(≥ωx G ,因此分子的虚根必然是偶数,否则)(ωx G 会出现负值。这就是说ωj 轴上的零、极点必将成对的出现。

由于)(ωx G 是可积的,因此分子的阶数不能大于分母的阶数,这就是说零点总数不会大于极点总数,而且分母不可能有虚根,这意味着ωj 轴上没有极点。

综合上述情况,在s 平面的零、极点的可能位置如上图所示:

令:

??

????++++=+))......(())......(()(11l k x j j j j a G βωβωαωαωω

?????

?+-+-+-+-=-))......(())......(()(11l k x j j j j a G βωβωαωαωω 则有

[])()()()()(*

ωωωωω-+++==x x x x x G G G G G 其中)(ω+x G 代表零、极点均在s 左平面的部分,)(ω-x G 代表零、

极点均在s 右平面的部分。若在ωj 轴上有零点的话,必是成对的。则将一个放在)(ω+x G 内,将另一个放在)(ω-x G 内。实质上,)(ω+x

G 对应的时域函数在负时间域为零,而)(ω-x G 对应的时域函数在正时间域为零。

根据上述的讨论,可以求得白化滤波器)(1ωH 的解析式为:

)

(1|)(|21ωωx G H = 由于 )()()()(|)(|11*1121ωωωωω-==H H H H H

)()()()()(ωωωωω-==++-+x x x x x G G G G G

故得:

)

(1)(1ωω+=x G H 若运用傅里叶变换进行分析计算,以s 代替ωj ,可得白化滤波器公式: )

(1)(1s G s H x += 其中ωσj s += 我们知道,)(1ωH 的傅里叶反变换是白化滤波器在时域的单位冲击响应)(1t h ,)(ω+x G 零、极点

在s 左半平面,因此)

(1ω+x G 的零、极点也是在s 左半平面。故它对应的时域函数)(1t h 在负时域时为零,也就是说,上述白化滤波器是物理可实现的。

白化滤波器的设计方法是:

首先计算色噪声自相关函数,根据色噪声的自相关函数,计算出色噪声的功率谱(色噪声的自相关函数和功率谱构成一对傅里叶变换对),然后根据公式)

(1|)(|21ωωx G H =

程序

%*******色噪声的产生*******************%

Fs=44100;[x1,Fs]=wavread('E:\matlab\work\混合信号\色噪声.wav');

L1=length(x1)/10;

x=x1(1:44100);

l1=0:L1-1;

t=l1/Fs;

figure(1);

plot(t,x,'-r');

title('色噪声');

%******统计色噪声*******************

E=mean(x); %色噪声的均值E = -0.0054

S=var(x); %色噪声的方差S = 0.0324

%**************求色噪声概率密度函数*****************%

eachi=linspace(min(x),max(x),42);

yyi=hist(x,eachi); %计算各个区间的个数

yyi=yyi/length(x); %对各个区间的个数归一化处理

figure(8); %绘制色噪声的概率密度函数

plot(eachi,yyi,'-k')

title('色噪声的概率密度函数')

%***************色噪声自相关函数 *****%

Rx=xcorr(x,x); %色噪声的自相关函数Rx

tau=(-L1+1:L1-1)/Fs;

figure(2);

plot(tau,Rx,'-r')

title('色噪声的自相关函数'); %色噪声的自相关函数波形

xlabel('\tau'),ylabel('R_x(\tau)');

grid on;

hold on;

%*************** 色噪声功率谱密度*****%

R=fft(Rx); %自相关函数的傅里叶变换即是功率谱密度

cm=abs(R);

fl=(0:length(R)-1)*44100/length(R);

figure(3)

plot(fl(1:length(fl)/2),cm(1:length(fl)/2),'-b')

title('色噪声的功率谱')

hold on;

grid on;

Yz=length(z);

Lz=0:Yz-1;

Tz=Lz/Fs;

figure(9)

plot(Tz,z,’-r’);

title(‘白噪声’)

%******白化滤波器的产生****************%

k=sqrt(cm);

c=1./k;

figure(4);

plot(fl(1:length(fl)/2),c(1:length(fl)/2),'-b')

title('白化滤波器滤波特性')

%****************统计白噪声**************%

ci=ifft(c); %白化滤波器在时域特性h(t)

z=conv(x,ci); %(色噪声与h(t)的卷积,输出白噪声)Eo=mean(z); %白噪声的均值Eo =-7.5587e-006

So=var(z); %白噪声的方差So =6.2662e-005

%**************求白噪声概率密度函数*****************%

eacho=linspace(min(z),max(z),42);

yyo=hist(z,eacho); %计算各个区间的个数

yyo=yyo/length(z); %对各个区间的个数归一化处理

figure(7); %绘制白噪声的概率密度函数

plot(eacho,yyo,'-k')

title('白噪声的概率密度函数')

%***************输出信号自相关函数*****%

Rz=xcorr(z,z); %输出白化噪声的自相关函数Rz

tau2=(-length(z)+1:length(z)-1)/Fs;

figure(5);

plot(tau2,Rz,'-r')

title('输出白化噪声的自相关函数'); %输出白化信号的自相关函数波形xlabel('\tau2'),ylabel('R_z(\tau2)');

grid on;

hold on;

%*************** 输出信号功率谱密度*****%

Ro=fft(Rz); %自相关函数的傅里叶变换即是功率谱密度

cmo=abs(Ro);

f2=(0:length(Ro)-1)*44100/length(Ro);

figure(6);

plot(f2(1:length(f2)/2),cmo(1:length(f2)/2),'-b');

title('输出信号的功率谱');

hold on;

grid on;

简单低通滤波器设计及matlab仿真

东北大学 研究生考试试卷 考试科目: 课程编号: 阅卷人: 考试日期: 姓名:xl 学号: 注意事项 1.考前研究生将上述项目填写清楚. 2.字迹要清楚,保持卷面清洁. 3.交卷时请将本试卷和题签一起上交. 4.课程考试后二周内授课教师完成评卷工作,公共课成绩单与试卷交研究生院培养办公室, 专业课成绩单与试卷交各学院,各学院把成绩单交研究生院培养办公室. 东北大学研究生院培养办公室

数字滤波器设计 技术指标: 通带最大衰减: =3dB , 通带边界频率: =100Hz 阻带最小衰减: =20dB 阻带边界频率: =200Hz 采样频率:Fs=200Hz 目标: 1、根据性能指标设计一个巴特沃斯低通模拟滤波器。 2、通过双线性变换将该模拟滤波器转变为数字滤波器。 原理: 一、模拟滤波器设计 每一个滤波器的频率范围将直接取决于应用目的,因此必然是千差万别。为了使设计规范化,需要将滤波器的频率参数作归一化处理。设所给的实际频 率为Ω(或f ),归一化后的频率为λ,对低通模拟滤波器令λ=p ΩΩ/,则1 =p λ, p s s ΩΩ=/λ。令归一化复数变量为p ,λj p =,则p p s j j p Ω=ΩΩ==//λ。所以巴 特沃思模拟低通滤波器的设计可按以下三个步骤来进行。 (1)将实际频率Ω规一化 (2)求Ωc 和N 11010/2-=P C α s p s N λααlg 1 10 110lg 10 /10/--= 这样Ωc 和N 可求。 p x fp s x s f

根据滤波器设计要求=3dB ,则C =1,这样巴特沃思滤波器的设计就只剩一个参数N ,这时 N p N j G 222 )/(11 11)(ΩΩ+= += λλ (3)确定)(s G 因为λj p =,根据上面公式有 N N N p j p p G p G 22)1(11 )/(11)()(-+= += - 由 0)1(12=-+N N p 解得 )221 2exp(πN N k j p k -+=,k =1,2, (2) 这样可得 1 )21 2cos(21 ) )((1 )(21+-+-= --= -+πN N k p p p p p p p G k N k k 求得)(p G 后,用p s Ω/代替变量p ,即得实际需要得)(s G 。 二、双线性变换法 双线性变换法是将s 平面压缩变换到某一中介1s 平面的一条横带里,再通过标准变换关系)*1exp(T s z =将此带变换到整个z 平面上去,这样就使s 平面与z 平面之间建立一一对应的单值关系,消除了多值变换性。 为了将s 平面的Ωj 轴压缩到1s 平面的1Ωj 轴上的pi -到pi 一段上,可以通过以下的正切变换来实现: )21 tan(21T T Ω= Ω 这样当1Ω由T pi -经0变化到T pi 时,Ω由∞-经过0变化到∞+,也映射到了整个Ωj 轴。将这个关系延拓到整个s 平面和1s 平面,则可以得到

数字滤波器matlab的程序

数字滤波器matlab的源代码 function lvbo(Ua,Ub,choise) %参考指令:lvbo(2*pi,10*pi,1/0/-1) U1=min(Ua,Ub); U2=max(Ua,Ub); Us=16*U2; T=2*pi/Us; T_sum=4*max(2*pi/Ua,2*pi/Ub); sum=T_sum/T; t=T:T:T_sum; x=sin(U1*t)+0.8*sin(U2*t); X=DFT(x); figure(1); subplot(221) U=Us/sum:Us/sum:Us; stem(U,abs(X));grid on axis([Us/sum,Us/2,0,1.2*max(abs(X))]) title('原模拟信号采样频谱图') Ucd=U1+(U2-U1)*1/5;Usd=U2-(U2-U1)*1/5; switch choise case 1 Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); case -1 Hz_ejw=IIR_DF_CF(Ucd,1,Usd,30,T,sum); case 0 Hz_ejw=FIR_DF_HM(U1,U2,T,sum); otherwise Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); end Y=X.*Hz_ejw; y=1/sum*conj(DFT(conj(Y))); figure(1); subplot(224) plot(t,real(y)); title('模拟信号滤波后');grid on axis([0,T_sum,-max(real(y))*1.5,max(real(y))*1.5]) subplot(222); plot(t,x); hold on

各类滤波器的MATLAB程序清单

各类滤波器的MATLAB程序 一、理想低通滤波器 IA=imread(''); [f1,f2]=freqspace(size(IA),'meshgrid'); Hd=ones(size(IA)); r=sqrt(f1.^2+f2.^2); Hd(r>=0; Y=fft2(double(IA)); Y=fftshift(Y); Ya=Y.*Hd; Ya=ifftshift(Ya); Ia=ifft2(Ya); figure subplot(2,2,1),imshow(uint8(IA)); subplot(2,2,2),imshow(uint8(Ia)); figure surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); 二、理想高通滤波器 IA=imread(''); [f1,f2]=freqspace(size(IA),'meshgrid'); Hd=ones(size(IA)); r=sqrt(f1.^2+f2.^2); Hd(r<=0; Y=fft2(double(IA));

Y=fftshift(Y); Ya=Y.*Hd; Ya=ifftshift(Ya); Ia=real(ifft2(Ya)); figure subplot(2,2,1),imshow(uint8(IA)); subplot(2,2,2),imshow(uint8(Ia)); figure surf(Hd,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); 三、B utterworth低通滤波器 IA=imread(''); [f1,f2]=freqspace(size(IA),'meshgrid'); D=; r=f1.^2+f2.^2; n=4; for i=1:size(IA,1) for j=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=1/(t^n+1); end end Y=fft2(double(IA)); Y=fftshift(Y); Ya=Y.*Hd; Ya=ifftshift(Ya); Ia=real(ifft2(Ya));

matlab程序之——滤波器(带通-带阻)教学内容

m a t l a b程序之——滤波器(带通-带阻)

matlab程序之——滤波器(带通,带阻) 以下两个滤波器都是切比雪夫I型数字滤波器,不是巴特沃尔滤波器,请使用者注意! 1.带通滤波器 function y=bandp(x,f1,f3,fsl,fsh,rp,rs,Fs) %带通滤波 %使用注意事项:通带或阻带的截止频率与采样率的选取范围是不能超过采样率的一半 %即,f1,f3,fs1,fsh,的值小于 Fs/2 %x:需要带通滤波的序列 % f 1:通带左边界 % f 3:通带右边界 % fs1:衰减截止左边界 % fsh:衰变截止右边界 %rp:边带区衰减DB数设置 %rs:截止区衰减DB数设置 %FS:序列x的采样频率 % f1=300;f3=500;%通带截止频率上下限 % fsl=200;fsh=600;%阻带截止频率上下限 % rp=0.1;rs=30;%通带边衰减DB值和阻带边衰减DB值 % Fs=2000;%采样率 % wp1=2*pi*f1/Fs; wp3=2*pi*f3/Fs; wsl=2*pi*fsl/Fs; wsh=2*pi*fsh/Fs; wp=[wp1 wp3]; ws=[wsl wsh]; % % 设计切比雪夫滤波器; [n,wn]=cheb1ord(ws/pi,wp/pi,rp,rs); [bz1,az1]=cheby1(n,rp,wp/pi); %查看设计滤波器的曲线 [h,w]=freqz(bz1,az1,256,Fs); h=20*log10(abs(h));

figure;plot(w,h);title('所设计滤波器的通带曲线');grid on; y=filter(bz1,az1,x); end 带通滤波器使用例子 %-------------- %带通滤波器测试程序 fs=2000; t=(1:fs)/fs; ff1=100; ff2=400; ff3=700; x=sin(2*pi*ff1*t)+sin(2*pi*ff2*t)+sin(2*pi*ff3*t); figure; subplot(211);plot(t,x); subplot(212);hua_fft(x,fs,1); % y=filter(bz1,az1,x); y=bandp(x,300,500,200,600,0.1,30,fs); figure; subplot(211);plot(t,y); subplot(212);hua_fft(y,fs,1); %调用到的hua_fft()函数代码如下 function hua_fft(y,fs,style,varargin) %当style=1,画幅值谱;当style=2,画功率谱;当style=其他的,那么花幅值谱和功率谱 %当style=1时,还可以多输入2个可选参数 %可选输入参数是用来控制需要查看的频率段的 %第一个是需要查看的频率段起点 %第二个是需要查看的频率段的终点 %其他style不具备可选输入参数,如果输入发生位置错误 nfft= 2^nextpow2(length(y));%找出大于y的个数的最大的2的指数值(自动进算最佳FFT步长nfft) %nfft=1024;%人为设置FFT的步长nfft y=y-mean(y);%去除直流分量 y_ft=fft(y,nfft);%对y信号进行DFT,得到频率的幅值分布 y_p=y_ft.*conj(y_ft)/nfft;%conj()函数是求y函数的共轭复数,实数的共轭复数是他本身。

基于matlab-的巴特沃斯低通滤波器的实现

基于matlab 的巴特沃斯低通滤波器的实现 一、课程设计的目的 运用MATLAB实现巴特沃斯低通滤波器的设计以及相应结果的显示,另外还对多种低通滤波窗口进行了比较。 二、课程设计的基本要求 1)熟悉和掌握MATLAB 的基本应用技巧。 2)学习和熟悉MATLAB相关函数的调用和应用。 3)学会运用MATLAB实现低通滤波器的设计并进行结果显示。 三、双线性变换实现巴特沃斯低通滤波器的技术指标: 1.采样频率10Hz。 2.通带截止频率fp=0.2*pi Hz。 3.阻带截止频率fs=0.3*pi Hz。 4.通带衰减小于1dB,阻带衰减大于20dB 四、使用双线性变换法由模拟滤波器原型设计数字滤波器 程序代码: T=0.1; FS=1/T; fp=0.2*pi;fs=0.3*pi; wp=fp/FS*2*pi; ws=fs/FS*2*pi; Rp = 1; % 通带衰减 As = 15; % 阻带衰减 OmegaP = (2/T)*tan(wp/2); % 频率预计 OmegaS = (2/T)*tan(ws/2); % 频率预计 %设计巴特沃斯低通滤波器原型

N = ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS))); OmegaC = OmegaP/((10^(Rp/10)-1)^(1/(2*N))); [z,p,k] = buttap(N); %获取零极点参数 p = p * OmegaC ; k = k*OmegaC^N; B = real(poly(z)); b0 = k; cs = k*B; ds = real(poly(p)); [b,a] = bilinear(cs,ds,FS);% 双线性变换 figure(1);% 绘制结果 freqz(b,a,512,FS);%进行滤波验证 figure(2); % 绘制结果 f1=50; f2=250; n=0:63; x=sin(2*pi*f1*n)+sin(2*pi*f2*n); subplot(2,2,1);stem(x,'.'); title ('输入信号'); y=filter(b,a,x); subplot(2,2,2);stem(y,'.') ; title('滤波之后的信号'); figure(3) ; stem(y,'.') title('输出的信号'))

FIR低通滤波器+matlab编程+滤波前后图形

Matlab实现振动信号低通滤波 附件txt中的数字是一个实测振动信号,采样频率为5000Hz,试设计一个长度为M=32的FIR低通滤波器,截止频率为600Hz,用此滤波器对此信号进行滤波。要求: (1)计算数字截止频率; (2)给出滤波器系数; (3)绘出原信号波形; (4)绘出滤波后的信号波形; 解答过程: 第一部分:数字截止频率的计算 =600/5000/2=0.24 数字截止频率等于截止频率除以采样频率的一半,即 n 第二部分:滤波器系数的确定 在matlab中输入如下程序,即可得到滤波器系数: n=32 Wn=0.24 b=fir1(n,Wn) 得到的滤波器系数b为 Columns 1 through 9 -0.0008 -0.0018 -0.0024 -0.0014 0.0021 0.0075 0.0110 0.0077 -0.0054 Columns 10 through 18 -0.0242 -0.0374 -0.0299 0.0087 0.0756 0.1537 0.2166 0.2407 0.2166 Columns 19 through 27 0.1537 0.0756 0.0087 -0.0299 -0.0374 -0.0242 -0.0054 0.0077 0.0110 Columns 28 through 33 0.0075 0.0021 -0.0014 -0.0024 -0.0018 -0.0008 第三部分:原信号波形 将附件4中的dat文件利用识别软件读取其中的数据,共1024个点,存在TXT 文档中,取名bv.txt,并复制到matlab的work文件夹。 在matlab中编写如下程序: x0=load('zhendong.txt'); %找到信号数据地址并加载数据。 t=0:1/5000:1023/5000; %将数据的1024个点对应时间加载

完整的维纳滤波器Matlab源程序

完整的维纳滤波器Matlab源程序学术2009-11-20 20:31:58 阅读308 评论0 字号:大中小 完整的维纳滤波器Matlab源程序 clear;clc; %输入信号 A=1; %信号的幅值 f=1000; %信号的频率 fs=10^5; %采样频率 t=(0:999); %采样点 Mlag=100; %相关函数长度变量 x=A*cos(2*pi*f*t/fs); %输入正弦波信号 xmean=mean(x); %正弦波信号均值 xvar=var(x,1); %正弦波信号方差 xn=awgn(x,5); %给正弦波信号加入信噪比为20dB的高斯白噪声 figure(1) plot(t,xn) %绘制输入信号图像 title('输入信号图像') xlabel('x轴单位:t/s','color','b') ylabel('y轴单位:f/HZ','color','b') xnmean=mean(xn) %计算输入信号均值xnms=mean(xn.^2) %计算输入信号均方值xnvar=var(xn,1) %计算输入信号方差 Rxn=xcorr(xn,Mlag,'biased'); %计算输入信号自相关函数figure(2) subplot(221) plot((-Mlag:Mlag),Rxn) %绘制自相关函数图像 title('输入信号自相关函数图像') [f,xi]=ksdensity(xn); %计算输入信号的概率密度,f 为样本点xi处的概率密度 subplot(222) plot(xi,f) %绘制概率密度图像 title('输入信号概率密度图像') X=fft(xn); %计算输入信号序列的快速离散傅里叶变换 Px=X.*conj(X)/600; %计算信号频谱 subplot(223) semilogy(t,Px) %绘制在半对数坐标系下频

基于MATLAB的巴特沃斯滤波器

数字信号处理课程设计 2015年 6 月25 日

目录 一.设计目的: (3) 二.设计要求: (3) 三.设计内容: (4) 3.1选择巴特涡斯低通数据滤波器及双线性变换法的原因 (4) 3.2巴特沃思低通滤波器的基本原理 (4) 3.3双线性变换法原理 (5) 3.4数字滤波器设计流程图 (7) 3.5数字滤波器的设计步骤 (7) 四.用matlab实现巴特沃斯低通数字滤波器的仿真并分析 (9) 4.1巴特沃斯低通数字滤波器技术指标的设置 (9) 4.2用matlab实现巴特沃斯低通数字滤波器的仿真 (9) 4.3波形图分析: (12) 五.总结与体会 (13) 六.附录参考文献 (14) 2

一.设计目的: 该课程设计是测控技术与仪器专业的必修课,开设课程设计的目的使学生掌握数字信号处理的基本概念和基本理论,能够利用辅助工具进行FIR和IIR数字滤波器的设计,进行一维信号的频谱分析,并进行仿真验证。加强实践教学环节,加强学生独立分析、解决问题的能力,培养学生动手能力和解决实际问题的能力,实现宽口径教育。 (1)理解低通滤波器的过滤方法。 (2)进一步熟悉低通滤波器的基本应用。 (3)用仿真工具matlab软件对设计的滤波器进行软件和硬件仿真。 (6)将对仿真结果进行比较,从而检验滤波器滤波性能的准确性。 二.设计要求: 地震发生时,除了会产生地震波,还会由地层岩石在断裂、碰撞过程中所发生的震动产生次声波。它的频率大约在每秒十赫兹到二十赫兹之间(可以用11Hz和15Hz的两个信号的和进行仿真,幅度可以分别设定为1、2)。大气对次声波的吸收系数很小,因此它可以传播的很远,而且穿透性很强。通过监测次声波信号可以监测地震的发生、强度等信息,因为自然界中广泛存在着各种次声波,这就对地震产生的次声波产生了干扰(可以用白噪声模拟,方差为5),需要采取一定的处理方法,才能检测到该信号,要求设计检测方案;并处理方法给出具体的软件(可以以51系列单片机、STM32F407、TMS320F28335或TMS320F6745为例)。 假设地震次声波信号为x,输入x=sin(2*π*11*t)+2*sin(2*π*15*t)和伴有白噪声的合成信号,经过滤波器后滤除15Hz以上的分量,即只保留x=sin(2*π*11*t)+2*sin(2*π*15*t)的分量信号,来验证设计的滤波器是否达到了设计要求。 3

滤波器设计MATLAB

数字信号处理

第一章概述 《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。通过该课程的课程设计实践,使我们对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解,巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。 其中,设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用

最广泛的是双线性变换法。 我们在课本中学到基本设计过程是: ①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标; ②设计过渡模拟滤波器; ③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。 而MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。 第二章总体方案设计 首先我将所给信号用MATLAB作图分析,然后通过观察st的幅频特性曲线,确定用高通滤波器作为处理信号的滤波器。选取滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 为参数。 然后通过编程序调用MATLAB滤波器设计函数ellipord和ellip设计椭圆滤波器;通过编程序调用函数cheb1ord和cheby1设计切比雪夫滤波器,并绘图显示其幅频响应特性曲线。最后使用用滤波器实现函数filter,用两个滤波器分别对信号st进行滤波后绘图显示时域波形,观察滤波效果。 实验程序框图如图所示:

设计数字低通滤波器(用matlab实现)

DSP 设计滤波器报告 姓名:张胜男 班级:07级电信(1)班 学号:078319120 一·低通滤波器的设计 (一)实验目的:掌握IIR 数字低通滤波器的设计方法。 (二)实验原理: 1、滤波器的分类 滤波器分两大类:经典滤波器和现代滤波器。 经典滤波器是假定输入信号)(n x 中的有用成分和希望取出的成分各自占有不同的频带。这样,当)(n x 通过一个线性系统(即滤波器)后可讲欲去除的成分有效的去除。 现代滤波器理论研究的主要内容是从含有噪声的数据记录(又称时间序列)中估计出信号的某些特征或信号本身。 经典滤波器分为低通、高通、带通、带阻滤波器。每一种又有模拟滤波器(AF )和数字滤波器(DF )。对数字滤波器,又有IIR 滤波器和FIR 滤波器。 IIR DF 的转移函数是: ∑∑=-=-+==N k k k M r r r z a z b z X z Y z H 10 1)()()( FIR DF 的转移函数是: ∑-=-=10)()(N n n z n h z H FIR 滤波器可以对给定的频率特性直接进行设计,而IIR 滤波器目前最通用的方法是利用已经很成熟的模拟滤波器的设计方法进行设计。 2、滤波器的技术要求 低通滤波器: p ω:通带截止频率(又称通带上限频率) s ω:阻带下限截止频率 p α:通带允许的最大衰减 s α:阻带允许的最小衰减 (p α,s α的单位dB ) p Ω:通带上限角频率 s Ω:阻带下限角频率 (s p p T ω=Ω,s s s T ω=Ω)即 C p p F ωπ2=Ω C s s F ωπ2=Ω 3、IIR 数字滤波器的设计步骤:

Matlab在滤波器中的应用

MATLAB大作业 院(系):信息工程学院 专业:09通信工程 班级:通信一班 学生:钟锦慧 学号:20090610080118 指导教师:邹丹 2011年12月18日

MATLAB在滤波器设计中的应用 1. 绪论 从20世纪初至今,在通信与电子系统中,滤波器的研究和应用经历了漫长、艰辛而曲折的道路,滤波器在信号传输与信号处理中的重要地位和作用已经非常明显,所以滤波器的分析与设计更是应该重点研究的问题。滤波器,顾名思义,是对波进行过滤的器件。“波”是一个非常广泛的物理概念,在电子技术领域,“波”被狭义地局限于特指描述各种物理量的取值随时间起伏变化的过程。该过程通过各类传感器的作用,被转换为电压或电流的时间函数,称之为各种物理量的时间波形,或者称之为信号。因为自变量时间是连续取值的,所以称之为连续时间信号,又习惯地称之为模拟信号(Analog Signal)。随着数字式电子计算机(一般简称计算机)技术的产生和飞速发展,为了便于计算机对信号进行处理,产生了在抽样定理指导下将连续时间信号变换成离散时间信号的完整的理论和方法。也就是说,可以只用原模拟信号在一系列离散时间坐标点上的样本值表达原始信号而不丢失任何信息,波、波形、信号这些概念既然表达的是客观世界中各种物理量的变化,自然就是现代社会赖以生存的各种信息的载体。信息需要传播,靠的就是波形信号的传递。信号在它的产生、转换、传输的每一个环节都可能由于环境和干扰的存在而畸变,有时,甚至是在相当多的情况下,这种畸变还很严重,以致于信号及其所携带的信息被深深地埋在噪声当中了[。 2. MATLAB简介 2.1 MATLAB的概述 20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MA TLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MA TLAB推向市场。到20世纪90年代,MA TLAB已成为国际控制界的标准计算软件。 MA TLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MA TLAB和Simulink两大部分。 MA TLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测

matlab设计低通滤波器

个matlab程序怎么编?(设计低通滤波器) 通带边缘频率10khz 阻带边缘频率22khz 阻带衰减75db 采样频率50khz 要求设计这个低通滤波器 画出脉冲响应的图形 还有滤波器的形状 具体程序怎么编? 谢谢各位大虾的指点!!! 最佳答案 1.1 实验目的 1.了解数字信号处理系统的一般构成; 2.掌握奈奎斯特抽样定理。 1.2 实验仪器 1.YBLD智能综合信号源测试仪1台 2.双踪示波器1台 3.MCOM-TG305数字信号处理与现代通信技术实验箱1台 4.PC机(装有MATLAB、MCOM-TG305配套实验软件)1台 1.3 实验原理 一个典型的DSP系统除了数字信号处理部分外,还包括A/D和D/A两部分。这是因为自然界的信号,如声音、图像等大多是模拟信号,因此需要将其数字化后进行数字信号处理,模拟信号的数字化即称为A/D转换。数字信号处理后的数据可能需还原为模拟信号,这就需要进行D/A转换。一个仅包括A/D和D/A两部分的简化数字信号处理系统功能如图1所示。 A/D转换包括三个紧密相关的过程,即抽样、量化和编码。A/D转换中需解决的以下几个重要问题:抽样后输出信号中还有没有原始信号的信息?如果有能不能把它取出来?抽样频率应该如何选择?

奈奎斯特抽样定理(即低通信号的均匀抽样定理)告诉我们,一个频带限制在0至fx以内的低通信号x(t),如果以fs≥2fx的抽样速率进行均匀抽样,则x(t)可以由抽样后的信号xs(t)完全地确定,即xs(t)包含有x(t)的成分,可以通过适当的低通滤波器不失真地恢复出x(t)。最小抽样速率fs=2fx称为奈奎斯特速率。 低通 译码 编码 量化 抽样 输入信号样点输出滤波输出 A/D(模数转换)D/A(数模转换) 图1 低通采样定理演示 为方便实现,实验中更换了一种表现形式,即抽样频率固定(10KHz),通过改变输入模拟信号的频率来展示低通抽样定理。我们可以通过研究抽样频率和模拟信号最高频率分量的频率之间的关系,来验证低通抽样定理。 1.4 实验内容 1.软件仿真实验:编写并调试MATLAB程序,分析有关参数,记录有关波形。 2.硬件实验:输入不同频率的正弦信号,观察采样时钟波形、输入信号波形、样点输出波形和滤波输出波形。 1.5 MATLAB参考程序和仿真内容 %*******************************************************************% %f—余弦信号的频率

高通滤波器matlab程序代码

%高斯低通滤波器 RGB=imread('132.jpg'); I0=rgb2gray(RGB); subplot(2,3,1),imshow(I0);title('原图'); I1=imnoise(I0,'gaussian');%对原图像加噪声 subplot(2,3,2),imshow(I1);title('加入噪声后') %将灰度图像的二维不连续Fourier变换的零频率成分移到频谱的中心 s=fftshift(fft2(I1)); subplot(2,3,3),imshow(log(1+abs(s)),[]);title('fftshift'); [M,N]=size(s);%分别返回s的行数到M中,列数到N中 %GLPF滤波 d0=50;%初始化d0 n1=floor(M/2);%对M/2进行取整 n2=floor(N/2);%对N/2进行取整 for i=1:M for j=1:N d=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅立叶变换中心的距离 h(i,j)=1*exp(-1/2*(d^2/d0^2));%GLPF滤波函数

s(i,j)=h(i,j)*s(i,j);%GLPF滤波后的频域表示 end end s=ifftshift(s);%对s进行反FFT移动 %对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数 s=uint8(real(ifft2(s))); subplot(2,3,4),imshow(h);title('传递函数');%显示GHPF滤波器的传递函数 subplot(2,3,5),imshow(s);title('GLPF滤波(d0=50)');%显示GLPF滤波处理后的图像

matlab实现滤波器

虽然matlab提供了很多产生低通滤波器的函数,而且也提供了将低通转换为高通、带通等滤波器的方法函数,以及数字化的函数。但是为了简化设计及设计者方便考虑,matlab还提供了更为简便的产生各种滤波器的方法。 1 besself 功能:贝塞尔(Bessel)模拟滤波器设计。 格式:[b,a] = besself(n,Wn) [b,a] = besself(n,Wn,'ftype') [z,p,k] = besself(...) [A,B,C,D] = besself(...) 说明:besself函数可以设计模拟低通、高通、带通和带阻贝塞尔(Bessel)滤波器。 [b,a] = besself(n,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶贝塞尔模拟 低通滤波器,b、a分别为滤波器传递函数的分子和分母系数向量(降幂排列)。 当Wn为二元向量,即Wn=[W1 W2] (W1

2 butter 功能:巴特沃思(Butterworth)模拟/数字滤波器设计。 格式:[b,a] = butter(n,Wn) [b,a] = butter(n,Wn,'ftype') [b,a] = butter(n,Wn,'s') [b,a] = butter(n,Wn,'ftype','s') [z,p,k] = butter(...) [A,B,C,D] = butter(...) 说明:butter函数可以设计模拟或数字的低通、高通、带通和带阻Butterworth 滤波 器。Butterworth滤波器可以使通带内的幅频响应最大程度地平坦,但这也使 得它的通带到阻带的过渡过程较慢。在这方面Chebyshev滤波器和椭圆滤波 器性能较好。 在设计数字滤波器时,butter函数中的参数Wn与besself函数有很大的区别, 它是一个相对量,其定义区间为Wn∈[0,1],其中1对应于0.5fs,fs为采样 频率(单位Hz);在设计模拟滤波器时,Wn采用真实频率,单位为Hz。 [b,a] = butter(n,Wn)返回截止频率为Wn(单位为弧度/秒)的n阶Butterworth 数字低通滤波器,b、a分别为滤波器传递函数的分子和分母系数向量(降幂 排列)。 当Wn为二元向量,即Wn = [W1 W2] (W1

matlab滤波器代码要点

数字信号处理: 已知通带截止频率fp=5kHz,通带最大衰减ap=2dB,阻带截止频率fs=2kHz,阻带最小衰减as=30dB,按照以上技术指标设计 巴特沃斯低通滤波器: wp=2*pi*5000;ws=2*pi*12000;Rp=2;As=30; [N,wc]=buttord(wp,ws,Rp,As,'s'); [B,A]=butter(N,wc,'s'); k=0:511;fk=0:14000/512:14000;wk=2*pi*fk; Hk=freqs(B,A,wk); subplot(2,2,1); plot(fk/1000,20*log10(abs(Hk)));grid on xlabel('频率(kHz)');ylabel('幅度(dB)') axis([0,14,-40,5]) 切比雪夫1型低通滤波器: wp=2*pi*3000;ws=2*pi*12000;Rp=0.1;As=60; [N1,wpl]=cheb1ord(wp,ws,Rp,As,'s'); %cheb1ord,里面的是1,不是L [B1,A1]=cheby1(N1,Rp,wpl,'s'); subplot(2,2,1); fk=0:12000/512:12000;wk=2*pi*fk; Hk=freqs(B1,A1,wk); plot(fk/1000,20*log10(abs(Hk)));grid on xlabel('频率(kHz)');ylabel('幅度(dB)') axis([0,12,-70,5]) 椭圆模拟低通滤波器: wp=2*pi*3000;ws=2*pi*12000;Rp=0.1;As=60; [N,wpo]=ellipord(wp,ws,Rp,As,'s'); [B,A]=ellip(N,Rp,As,wpo,'s'); subplot(2,2,1); fk=0:12000/512:12000;wk=2*pi*fk; Hk=freqs(B1,A1,wk); plot(fk/1000,20*log10(abs(Hk)));grid on xlabel('频率(kHz)');ylabel('幅度(dB)') axis([0,12,-70,5])

用matlab编程设计切比雪夫低通滤波器..

目录 1摘要 (3) 2设计原理 (4) 2.1 切比雪夫滤波器介绍 (4) 2.2滤波器的分类 (5) 2.3 模拟滤波器的设计指标 (6) 3切比雪夫I型滤波器 (7) 3.1 切比雪夫滤波器的设计原理 (7) 3.2切比雪夫滤波器的设计步骤 (10) 3.3 用matlab编程设计切比雪夫低通滤波器 (11) 4 总结 (18) 5 参考文献 (18)

摘要 随着信息和数字时代的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。在现代通信系统中,由于信号中经常混有各种复杂成分,因此很多信号的处理都是基于滤波器而进行的。所以,数字滤波器在数字信号处理中起着举足轻重的作用。 而数字滤波器的设计都要以模拟滤波器为基础的,这是因为模拟滤波器的理论和设计方方法都已发展的相当成熟,且有典型的模拟滤波器供我们选择。,如巴特沃思滤波器、切比雪夫滤波器等。 本次课程设计将运用MATLAB设计一个基于切比雪夫低通滤波器,并出所设计滤波器的幅度及幅度衰减特性。 关键词:滤波切比雪夫模拟低通 1切比雪夫滤波器介绍

在巴特沃兹滤波器中,幅度响应在通带和阻带内都是单调的。因此,若滤波器的技术要求是用最大通带和阻带的逼近误差来给出的话,那么,在靠近通带低频端和阻带截止频率以上的部分都会超出技术指标。一种比较有效的途径是使逼近误差均匀地分布于通带或阻带内,或同时在通带和阻带内都均匀分布,这样往往可以降低所要求的滤波器阶次。通过选择一种具有等波纹特性而不是单调特性的逼近方法可以实现这一点。切比雪夫型滤波器就具有这种性质:其频率响应的幅度既可以在通带中是等波纹的,而在阻带中是单调的(称为I 型切比雪夫滤波器),也可以在通带中是单调的,而在阻带中是等波纹的(称为II 型切比雪夫滤波器),其中切比雪夫II 型滤波器又称为逆切比雪夫滤波器。 I 型切比雪夫滤波器的幅度平方函数是 2|)(|Ωj H C = )/(11 2 2c N C ΩΩ+ε (2.1) 其中ε是一个小于1的正数,它与通带波纹有关,ε越大,波纹也越大,式中为N 阶切比雪夫多项式,定义为 )cos cos()(1x N x C N -= (2.2) 当N 大于或等于1时,从定义切比雪夫多项式可以直接得出由 ) (x C N 和 )(1x C N -求)(1x C N +的递推公式。将三角恒等式代入 (2.2)式,得 )(1x C N +=2x -)(x C N )(1x C N - (2.3) 从 (2.2)式我们注意到,当01时,x 1cos -是虚数,所以) (x C N 像双曲余弦一样单调地增加。参考(2.1), 2|)(|Ωj H C 对于0≤p ΩΩ/≤1呈现出在1和1/(21ε+)之间的波动;而对于 p ΩΩ/〉1单调地减小。需要用三个参量来确定该滤波器:ε,p Ω和N 。 在典型的设计中,用容许的通带波纹来确定ε,而用希望的通带截止频率来确定 c Ω。然后选择合适的阶次N ,以便阻带的技术要求得到满足。

低通滤波的matlab实现

四种低通滤波器: 一、理想低通滤波器 I=imread('bb.jpg'); T=rgb2gray(I); figure(1); subplot(1,2,1),imshow(uint8(I)); title('原图像'); subplot(1,2,2),imshow(uint8(T)); title('理想低通滤波所得图像'); [f1,f2]=freqspace(size(T),'meshgrid'); H=ones(size(T)); r=sqrt(f1.^2+f2.^2); H(r>0.1)=0; Y=fft2(double(T)); Y=fftshift(Y); Ya=Y.*H; Ya=ifftshift(Ya); I=ifft2(Ya); figure(2); surf(H,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); title('频谱图');

二、巴特沃斯低通滤波器 I=imread('bb.jpg'); T=rgb2gray(I); figure(1); subplot(1,2,1),imshow(uint8(I)); title('原图像'); subplot(1,2,2),imshow(uint8(T)); title('巴特沃斯低通滤波所得图像'); [f1,f2]=freqspace(size(T),'meshgrid'); D=0.3; r=f1.^2+f2.^2; n=4; for i=1:size(T,1) for j=1:size(T,2) t=r(i,j)/(D*D); H(i,j)=1/(t^n+1); end end Y=fft2(double(T)); Y=fftshift(Y); Ya=Y.*H; Ya=ifftshift(Ya); I=real(ifft2(Ya)); figure(2); surf(H,'Facecolor','interp','Edgecolor','none','Facelighting','phong'); title('频谱图');

matlab设计滤波器程序

Fs=1000; t=0.1:1/Fs:0.3; A=1; B=fir1(100,[0.12 0.18],'bandpass');%fir1基于窗函数的有限脉冲响应滤波器 X=3*sin(2*pi*80*t)+sqrt(5)*randn(1,length(t)); subplot(2,2,1) plot(t,X) title('叠加白噪声的正弦信号') xlabel('time (seconds)') X1=3*sin(2*pi*80*t); subplot(2,2,2) plot(t,X1) title('正弦信号') xlabel('time (seconds)') Y=filter(B,A,X); subplot(2,2,3) plot(t,Y) title('Hamming窗滤波后的信号') xlabel('time (seconds)') B=fir1(100,[0.12 0.18],'bandpass',kaiser(101)); Y1=filter(B,A,X); subplot(2,2,4) plot(t,Y1) title('bartlett窗滤波后的信号') xlabel('time (seconds)') B=fir1(100,[0.12 0.18],'bandpass',barthannwin(101)); Y2=filter(B,A,X); subplot(2,2,4) plot(t,Y1) title('barthannwin窗滤波后的信号') xlabel('time (seconds)') figure(2) Xk=fft(X1); Mk=abs(Xk); subplot(2,2,1) stem(Mk)

利用matlab设计巴特沃斯低通滤波器

三峡大学 课程设计报告 专业班级 20091421 课程数字信号处理课程设计 学号 2009142116 学生姓名姜祥奔 指导教师王露 2012年 5 月 平时成绩(20%) 报告成绩(40%) 答辩成绩(40%) 总成绩

数字信号处理课程设计 实验一:用双线性变换法和脉冲响应不变法设计IIR 数字滤波器 采用双线性变换法设计一个巴特沃斯数字低通滤波器,要求:通带截止频率 100Hz ,阻带截止频率200Hz ,通带衰减指标Rp 小于2dB ,阻带衰减Rs 大于15dB ,滤波器采样频率Fs=500Hz 。绘制频率响应曲线。 理论部分:(原理及设计过程) 第一步:论ω和f 的关系及数字域性能的公式表示。模拟频率与数字频率之间为线性关系,T f T fT T s ,101,24-===Ω=πω为抽样周期,故 ππω4.0500110021=? ?==c c kHz f 对应于 修正后 )2 t a n (21c T ω=Ω ππω8.0500120021=? ?==st st kHz f 对应于 修正后 )2 tan(21st T ω= Ω 按衰减的定义 2) ()(log 204.0010≤πj j e H e H 15)()(log 208.0010 ≥πj j e H e H 设0=ω处频率响应幅度归一化为1,即1)(0=j e H ,则上两式变成 2)(log 204.010-≥πj e H (1) 15)(log 208.010-≤πj e H (2)

这就是数字滤波器的性能指标的表达式。 2 下面把数字低通滤波器的性能要求转变为“样本”模拟低通滤波器的性能 要求。由T Ω=ω,按修正式)()(T j H e H a j ωω≈,设没有混叠效应(即混叠效应设计完成后再进行校验) 则有 πωω ω≤Ω==),()()(j H T j H e H a a j (3) 利用(3)式,由(1)、(2)式可写出模拟低通滤波器的指标为 2)102(log 20)4.0(log 2021010-≥?=ππj H T j H a a …….(4) 15)104(log 20)8.0(log 2021010-≤?=ππj H T j H a a …(5) 3 计算“样本”模拟低通滤波器所需的阶数N 及3dB 截止频率C Ω。巴特沃思低通滤波器的幅度平方函数是 N C a j H 22)(11)(ΩΩ+=Ω 以分贝形式表示上式,即 ?? ????ΩΩ+-=ΩN C a j H 21010)(1log 10)(log 20 ……………(6) 把求出的性能指标关系(4)式、(5)式代入(6)式得 2)(1log 102110-≥?? ????ΩΩ+-N C 15)(1log 102210-≤?? ????ΩΩ+-N C 先用等号来满足指标,可得 N C 21)(1ΩΩ+=2.010 N C 22)(1ΩΩ+=5.110 解此两方程,得N=1.3709, N 是滤波器阶次,必须取整数,为了满足或超过给定

相关文档
相关文档 最新文档