失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab 画xos函数 matlab【滤波器】程序

matlab 画xos函数 matlab【滤波器】程序

时间:2021-03-29 23:21:20

相关推荐

matlab 画xos函数 matlab【滤波器】程序

《matlab【滤波器】程序》由会员分享,可在线阅读,更多相关《matlab【滤波器】程序(18页珍藏版)》请在人人文库网上搜索。

1、matlab滤波器程序wc=(400/1000)*pi; %求截止频率w1=boxcar(81); %窗函数w2=triang(81);w3=hamming(81);w4=hanning(81);w5=bartlett(81);w6=blackman(81);w7=chebwin(81,30);w8=kaiser(81,7.856);n=1:1:81;hd=sin(wc*(n-41)./(pi*(n-41); %求h(d)hd(41)=wc/pi;h1=hd.*w1; %加窗h2=hd.*w2;h3=hd.*w3;h4=hd.*w4;h5=hd.*w5;h6=hd.*w6;h7=hd.*w7;。

2、h8=hd.*w8;mag1,rad=freqz(h1); %求幅频特性曲线mag2,rad=freqz(h2);mag3,rad=freqz(h3);mag4,rad=freqz(h4);mag5,rad=freqz(h5);mag6,rad=freqz(h6);mag7,rad=freqz(h7);mag8,rad=freqz(h8);figure(1); %画幅频特性曲线plot(rad,20*log10(abs(mag1);xlabel(Normalized Frequency(rad);ylabel(Normaliaed Magnitude(dB);axis(0,3,-80,0);t。

3、itle(利用矩形窗设计的数字滤波器);grid on;figure(2);plot(rad,20*log10(abs(mag2);xlabel(Normalized Frequency(rad);ylabel(Normaliaed Magnitude(dB);axis(0,3,-80,0);title(利用三角窗设计的数字滤波器);grid on;figure(3);plot(rad,20*log10(abs(mag3);xlabel(Normalized Frequency(rad);ylabel(Normaliaed Magnitude(dB);axis(0,3,-80,0);title。

4、(利用海明设计的数字滤波器);grid on;figure(4);plot(rad,20*log10(abs(mag4);xlabel(Normalized Frequency(rad);ylabel(Normaliaed Magnitude(dB);axis(0,3,-80,0);title(利用汉宁窗设计的数字滤波器);grid on;figure(5);plot(rad,20*log10(abs(mag5);xlabel(Normalized Frequency(rad);ylabel(Normaliaed Magnitude(dB);axis(0,3,-80,0);title(利用巴特。

5、里特窗设计的数字滤波器);grid on;figure(6);plot(rad,20*log10(abs(mag6);xlabel(Normalized Frequency(rad);ylabel(Normaliaed Magnitude(dB);axis(0,3,-100,0);title(利用布拉克曼窗设计的数字滤波器);grid on;figure(7);plot(rad,20*log10(abs(mag7);xlabel(Normalized Frequency(rad);ylabel(Normaliaed Magnitude(dB);axis(0,3,-100,0);title(利用。

6、切比雪夫窗设计的数字滤波器);grid on;figure(8);plot(rad,20*log10(abs(mag8);xlabel(Normalized Frequency(rad);ylabel(Normaliaed Magnitude(dB);axis(0,3,-100,0);title(利用凯塞窗设计的数字滤波器);grid on;MATLAB参考程序和仿真内容%*%mode: 1-巴特沃斯低通;2-巴特沃斯高通;3-巴特沃斯带通;4-巴特沃斯带阻% 5-契比雪夫低通;6-契比雪夫高通;7-契比雪夫带通;8-契比雪夫带阻%fp1,fp2: 通带截止频率,当高通或低通时只有fp1有效%。

7、fs1, fs2: 阻带截止频率,当高通或低通时只有fs1有效%rp: 通带波纹系数%as: 阻带衰减系数%sample: 采样率%h: 返回设计好的滤波器系数%*%functionb,a=iirfilt(mode,fp1,fp2,fs1,fs2,rp,as,sample)wp1=2*fp1/sample;wp2=2*fp2/sample;ws1=2*fs1/sample;ws2=2*fs2/sample;%得到巴特沃斯滤波器的最小阶数N和3bd频率wnif mode);phase=angle(freq_response);subplot(3,1,2);plot(f,phase);grid; 。

8、%相频特性axis(0 sample/2 1.1*min(phase) 1.1*max(phase);ylabel(Phase);xlabel(Frequency);h=impz(b,a,32); %32点的单位函数响应t=1:32;subplot(3,1,3);stem(t,h);grid;axis(0 32 1.2*min(h) 1.1*max(h);ylabel(h(n);xlabel(n);基于MATLAB信号处理工具箱的数字滤波器设计与仿真摘要:传统的数字滤波器的设计过程复杂,计算工作量大,滤波特性调整困难,影响了它的应用。本文介绍了一种利用matlab信号处理工具箱(signal 。

9、processing toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用matlab语言进行程序设计和利用信号处理工具箱的fdatool工具进行界面设计的详细步骤。利用matlab设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。本文还介绍了如何利用matlab环境下的仿真软件simulink对所设计的滤波器进行模拟仿真。关键词:数字滤波器 matlab fir iir引言:在电力系统微机保护和二次控制中,很多信号的处理与分析都是基于对正弦基波和某些整次谐波的分析,而系统电压电流信号(尤其是故障瞬变过程)中。

10、混有各种复杂成分,所以滤波器一直是电力系统二次装置的关键部件【1】。目前微机保护和二次信号处理软件主要采用数字滤波器。传统的数字滤波器设计使用繁琐的公式计算,改变参数后需要重新计算,在设计滤波器尤其是高阶滤波器时工作量很大。利用matlab信号处理工具箱(signal processing toolbox)可以快速有效的实现数字滤波器的设计与仿真。1 数字滤波器及传统设计方法数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种。

11、,即无限长冲激响应(iir)滤波器和有限长冲激响应(fir)滤波器。iir数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配。所以iir滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。fir数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。在对滤波器实际设计时,整个过程的运算量是很大的。例如利用窗函数法【2】设计m阶fir低通滤波器时,首先要根据(1)式计算出理想低通滤波器的单位冲激响应序列,然后根据(2)式计算出m个滤波器系数。当滤波器阶数比较高时,计算量比较大,设计。

12、过程中改变参数或滤波器类型时都要重新计算。(1)(2)设计完成后对已设计的滤波器的频率响应要进行校核,要得到幅频相频响应特性,运算量也是很大的。我们平时所要设计的数字滤波器,阶数和类型并不一定是完全给定的,很多时候都是要根据设计要求和滤波效果不断的调整,以达到设计的最优化。在这种情况下,滤波器的设计就要进行大量复杂的运算,单纯的靠公式计算和编制简单的程序很难在短时间内完成设计。利用matlab强大的计算功能进行计算机辅助设计,可以快速有效的设计数字滤波器,大大的简化了计算量,直观简便。2数字滤波器的matlab设计2.1 fdatool界面设计2.1.1 fdatool的介绍fdatool(f。

13、ilter design & analysis tool)是matlab信号处理工具箱里专用的滤波器设计分析工具,matlab6.0以上的版本还专门增加了滤波器设计工具箱(filter design toolbox)。fdatool可以设计几乎所有的基本的常规滤波器,包括fir和iir的各种设计方法。它操作简单,方便灵活。fdatool界面总共分两大部分,一部分是design filter,在界面的下半部,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。design filter部分主要分为:filter type(滤波器类型)选项,包括lowpass。

14、(低通)、highpass(高通)、bandpass(带通)、bandstop(带阻)和特殊的fir滤波器。design method(设计方法)选项,包括iir滤波器的butterworth(巴特沃思)法、chebyshev type i(切比雪夫i型)法、 chebyshev type ii(切比雪夫ii型) 法、elliptic(椭圆滤波器)法和fir滤波器的equiripple法、least-squares(最小乘方)法、window(窗函数)法。filter order(滤波器阶数)选项,定义滤波器的阶数,包括specify order(指定阶数)和minimum order(最小阶。

15、数)。在specify order中填入所要设计的滤波器的阶数(n阶滤波器,specify ordern-1),如果选择minimum order则matlab根据所选择的滤波器类型自动使用最小阶数。frenquency specifications选项,可以详细定义频带的各参数,包括采样频率fs和频带的截止频率。它的具体选项由filter type选项和design method选项决定,例如bandpass(带通)滤波器需要定义fstop1(下阻带截止频率)、fpass1(通带下限截止频率)、fpass2(通带上限截止频率)、fstop2(上阻带截止频率),而lowpass(低通)滤波器只。

16、需要定义fstop1、fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。magnitude specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义wstop1(频率fstop1处的幅值衰减)、wpass(通带范围内的幅值衰减)、wstop2(频率fstop2处的幅值衰减)。当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。window specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。2.1.2带通滤波器设计实例本文将以。

17、一个fir 滤波器的设计为例来说明如何使用matlab设计数字滤波器:在小电流接地系统中注入83.3hz的正弦信号,对其进行跟踪分析,要求设计一带通数字滤波器,滤除工频及整次谐波,以便在非常复杂的信号中分离出该注入信号。参数要求:96阶fir数字滤波器,采样频率1000hz,采用hamming窗函数设计。本例中,首先在filter type中选择bandpass(带通滤波器);在design method选项中选择fir window(fir滤波器窗函数法),接着在window specifications选项中选取hamming;指定filter order项中的specify order9。

18、5;由于采用窗函数法设计,只要给出通带下限截止频率fc1和通带上限截止频率fc2,选取fc170hz,fc284hz。设置完以后点击design filter即可得到所设计的fir滤波器。通过菜单选项analysis可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。设计完成后将结果保存为1.fda文件。在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。其它类型的fir滤波器和iir滤波器也都可以使用fdatool来设计。图1 滤波器幅频和相频响应(特性区)fig.1 magnitude response and p。

19、hase response of the filter2.2 程序设计法在matlab中,对各种滤波器的设计都有相应的计算振幅响应的函数【3】,可以用来做滤波器的程序设计。上例的带通滤波器可以用程序设计:c=95; 定义滤波器阶数96阶w1=2*pi*fc1/fs;w2=2*pi*fc2/fs; %参数转换,将模拟滤波器的技术指标转换为数字滤波器的技术指标window=hamming(c+1); %使用hamming窗函数h=fir1(c,w1/pi w2/pi,window); 使用标准响应的加窗设计函数fir1freqz(h,1,512); 数字滤波器频率响应在matlab环境下运行该程序。

20、即可得到滤波器幅频相频响应曲线和滤波器系数h。篇幅所限,这里不再将源程序详细列出。3 simulink仿真本文通过调用simulink中的功能模块构成数字滤波器的仿真框图,在仿真过程中,可以双击各功能模块,随时改变参数,获得不同状态下的仿真结果。例如构造以基波为主的原始信号,通过simulink环境下的digital filter design(数字滤波器设计)模块导入2.1.2中fdatool所设计的滤波器文件1.fda。仿真图和滤波效果图如图2所示。图2 simulink仿真图及滤波效果图fig.2 simulated connections and waveform可以看到经过离散采样、。

21、数字滤波后分离出了83.3hz的频率分量(scope1)。之所以选取上面的叠加信号作为原始信号,是由于在实际工作中是要对已经经过差分滤波的信号进一步做带通滤波,信号的各分量基本同一致,可以反映实际的情况。本例设计的滤波器已在实际工作中应用,取得了不错的效果。4结论利用matlab的强大运算功能,基于matlab信号处理工具箱(signal processing toolbox)的数字滤波器设计法可以快速有效的设计由软件组成的常规数字滤波器,设计方便、快捷,极大的减轻了工作量。在设计过程中可以对比滤波器特性,随时更改参数,以达到滤波器设计的最优化。利用matlab设计数字滤波器在电力系统二次信号。

22、处理软件和微机保护中,有着广泛的应用前景。设计巴特沃斯滤波器的MATLAB函数-05-09 21:121. buttord(1)N,wc=buttord(wp,ws,p,s)用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0wp1,0ws1。1表示数字频率pi。p,s分别为通带最大衰减和组带最小衰减(dB)。当wswp时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。N,wc作为butter函数的调用参数。(2)N,c=buttord(p,s,p,s,s)用于计算巴特沃斯。

23、模拟滤波器的阶数N和3dB截止频率c。p,s,c均为实际模拟角频率。说明:buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,而通带会有富余。2.buttap(N)z0,p0,k0=buttap(N)用于计算N阶巴特沃斯归一化(3dB截止频率c=1)模拟低通原型滤波器系统函数的零、极点和增益因子。说明:如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa,可调用B,A=zp2tf(z0,p0,k0)3.butter(1)b,a=butter(N,wc,ftype)计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。调用参数N和wc分别为巴特。

24、沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord(1)格式计算N和wc。系数b、a是按照z-1的升幂排列。(2)B,A=butter(N,c,ftype,s)计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。调用参数N和c分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord(2)格式计算N和c。系数B、A按s的正降幂排列。tfype为滤波器的类型:ftype=high时,高通;c只有1个值。ftype=stop时,带阻阻;此时c=cl,cu,分别为带阻滤波器的通带3dB下截止频率和上截止频率。 ftype。

25、缺省时:若c只有1个值,则默认为低通;若c有2个值,则默认为带通;其通带频率区间cl cu。注意:所设计的带通和带阻滤波器系统函数是2N阶。因为带通滤波器相当于N阶低通滤波器与N阶高通滤波器级联。MATLAB 数字滤波器设计 作业-06-25 20:01其实并不是说为了交作业才写的程序,而是自己在做作业的过程当中学到了新的东西,这才是最有乐趣的!对信号处理课的总结: 信号处理是对各种信号处理的总称,用处是从看似杂乱的信号中提取出有用的信息。 主要理论是(离散)傅立叶变换,使用时采用快速傅立叶变换,计算速度会快很多。 对信号快速傅立叶变换后会得到幅值频谱图(通常是分离的线,表示信号组成成。

26、分),从中我们可以得到需要的信息(比如是否包含特定频率的波)。 滤波器是对信号进行处理,过滤掉我们不需要的波,比如说噪声,更具体的比如图像的噪点的过滤。原理就是让只让特定频率范围的波通过,否则就衰减的比较严重,从而实现了指定频率的分离。滤波器的几个重要参数的含义。 MATLAB软件在工程上确实是有这比较大的优势,基本上常用的函数都已经内置了,从理念上实现了傻瓜化。用GOOGLE翻译成英文如下:Summary of the Signal Processing class: signal processing is a general term for a variety of signal pr。

27、ocessing, the use of clutter from the signal appears to extract useful information. The main theory is the (discrete) Fourier transform, the use of fast Fourier transform used to calculate the speed will be much faster. Fast Fourier Transform of the signal after the amplitude of frequency spectrum w。

28、ill be (usually the separation line, said signal components), from which we can get the information needed (such as whether a particular wave frequency). filter for signal processing, we do not need to filter out the wave, for example, noise, more specific images such as noise filters. The principle。

29、 is to allow only a specific frequency range of the wave through, or on the attenuation of the more serious, in order to achieve the specified frequency separation. Filter the meaning of several important parameters. MATLAB software in the works are indeed there is such a big advantage, is basically。

30、 a function of commonly used have been built from the concept of a fool.(机器翻译确实还有很长的路要走)题目要求:有一个信号,经AD转换后得到数据文件dataX(采样频率 ,数据点数 )(见表),请用Matlab完成以下工作:(1)确定此信号有哪些主要频率成分;(2)用双性变换法设计一个滤波器,保留数据中频率最低的频率成份,去掉其余成份;绘出滤波器的频率响应特性;绘出滤波后数据的时域图形、幅值谱;(3)设计一个FIR Butterworth数字滤波器,保留数据中第3高的频率成分,绘出滤波器的频率响应特性;绘出滤波后数据的时。

31、域图形、幅值谱;完整MATLAB 代码如下:%信号检测MATLAB上机作业%winxos -6-25%读取数据文件,我选择的是data11data=load(data11); %read file%基本参数设置Nums=512; %数据data11文件,采样频率400Hz,数据个数512个Fs=400;T=Nums/Fs;%设置窗口大小scrsz = get(0,ScreenSize); %get screen sizefigure(Position,100 100 scrsz(3)-200 scrsz(4)-200,. % .is the Link-Line symbolsName,。

32、信号检测MATLAB示例 LiWei,NumberTitle,off); %set window property,the size is less than screen size%绘制原始波形x=0:1/Fs:T-1/Fs; subplot(221); %第一张图plot(x,data);xlabel(Time (s);ylabel(amplitude);title(原始波形,Color,r);%频谱分析data_FFT=abs(fft(data,Nums)/(Nums/2); %快速傅立叶变换df=Fs/Nums*(0:(Nums-1);subplot(222); %第二张图plot(d。

33、f(1:Fs/2),data_FFT(1:Fs/2),g);xlabel(Frequency (Hz);title(频谱图,Color,r);%双线性变换滤波器设计%设计参数 通带截至频率10 阻带截至频 率15 通带最大衰减1 阻带最小衰减5Wp=10/Fs;Ws=15/Fs;n Wn=buttord(Wp,Ws,1,5);b a=butter(n,Wn);bz az=bilinear(b,a,Fs);figure(Name,滤波器特性曲线,NumberTitle,off); %新建一个窗口绘制滤波器频率响应曲线freqz(b,a,512,Fs);%对原始数据滤波figure(1);subp。

34、lot(223); %第三张图y=filter(b,a,data);plot(x,y);xlabel(Time (s);title(滤波后数据波形,Color,r);%滤波后数据频谱分析figure(Name,滤波后数据频谱分析,NumberTitle,off); %新建一个窗口绘制过滤后数据波形data_FFT=abs(fft(y,Nums)/(Nums/2);df=Fs/Nums*(0:(Nums-1);plot(df(1:Fs/2),data_FFT(1:Fs/2),g);xlabel(Frequency (Hz);title(滤波后频谱分析,Color,r);%Fir滤波器设计b=fi。

35、r1(30,Wn); %30th-order,Wn worked out at line 38figure(Name,FIR 滤波器特性曲线,NumberTitle,off); %新建一个窗口绘制滤FIR波器频率响应曲线freqz(b,1,512,Fs);xlabel(Time (s);title(FIR 滤波后数据波形,Color,r);%Fir对原始数据滤波y=filter(b,1,data);figure(1);subplot(224);plot(x,y);xlabel(Time (s);title(FIR 滤波后频谱分析,Color,r);figure(Name,FIR 滤波后频谱分析,NumberTitle,off); %新建一个窗口绘制FIR过滤后数据波形data_FFT=abs(fft(y,Nums)/(Nums/2);df=Fs/Nums*(0:(Nums-1);plot(df(1:Fs/2),data_FFT(1:Fs/2),g);部分图片结果。

如果觉得《matlab 画xos函数 matlab【滤波器】程序》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。