基于MATLAB的数字滤波器的设计程序

合集下载

使用MATLAB进行数字滤波器设计的步骤与方法

使用MATLAB进行数字滤波器设计的步骤与方法

使用MATLAB进行数字滤波器设计的步骤与方法数字滤波器是用于信号处理的重要工具,它可以对信号进行去噪、频率调整等操作。

而MATLAB作为一种强大的数学计算软件,提供了丰富的数字信号处理工具箱,可以方便地进行数字滤波器的设计与仿真。

本文将介绍使用MATLAB进行数字滤波器设计的步骤与方法。

1. 了解数字滤波器的基本原理在进行数字滤波器设计之前,首先需要了解数字滤波器的基本原理。

数字滤波器根据其频率响应特性可以分为低通、高通、带通和带阻滤波器等。

此外,数字滤波器的设计还需要考虑滤波器的阶数、截止频率以及滤波器类型等因素。

在设计中,我们可以选择滤波器的类型和相应的参考模型,然后利用MATLAB工具箱提供的函数进行设计。

2. 导入MATLAB中的数字信号处理工具箱使用MATLAB进行数字滤波器设计需要先导入数字信号处理工具箱。

通过在MATLAB命令窗口输入`>> toolbox`即可打开工具箱窗口,并可以选择数字信号处理工具箱进行加载。

加载完成后,就可以调用其中的函数进行数字滤波器设计。

3. 设计数字滤波器在MATLAB中,常用的数字滤波器设计函数有`fir1`、`fir2`、`iirnotch`等。

这些函数可以根据系统特性需求设计相应的数字滤波器。

以FIR滤波器为例,可以使用`fir1`函数进行设计。

该函数需要输入滤波器的阶数和截止频率等参数,输出设计好的滤波器系数。

4. 评估滤波器性能设计好数字滤波器后,需要进行性能评估。

可以使用MATLAB提供的`fvtool`函数绘制滤波器的幅频响应、相频响应和群延迟等。

通过观察滤波器在频域的性能表现,可以判断设计的滤波器是否满足要求。

5. 对滤波器进行仿真在对滤波器性能进行评估之后,还可以使用MATLAB进行滤波器的仿真。

通过将需要滤波的信号输入设计好的滤波器中,观察输出信号的变化,可以验证滤波器的去噪效果和频率调整能力。

MATLAB提供了函数`filter`用于对信号进行滤波处理。

基于matlab的数字滤波器设计

基于matlab的数字滤波器设计

基于matlab的数字滤波器设计一.概述本文重点介绍MATLAB 中用于数字滤波器设计的函数组。

MATLAB具备设计高性能滤波器的众多工具(toolbox),包括数字滤波器设计工具箱(Digital Filter Design T oolbox)、滤波系统仿真工具箱(Filter Design and Analysis Toolbox )以及信号处理工具箱(Signal Processing Toolbox),可以设计数字滤波器的结构和参数,并实现Advanced Digital Filter Design。

二.数字滤波器介绍数字滤波器,也称计算滤波器,是指利用现代计算机中的数字回授技术来进行信号处理的方法,是对计算机处理信号的一种技术。

数字滤波器是模拟滤波器组成的数字信号处理系统,是将模拟的通全在一个硬件上实现的数字信号处理系统,它的功能比模拟滤波器更加强大。

目前它们已经应用于通信、声音、镜头、图像处理、仪器仪表、数据采集等领域。

三.MATLAB 中的滤波器设计(1)首先,MATLAB中提供了丰富的函数来实现滤波器设计工作。

其中最常用的函数有:a. firpm:有限冲激响应滤波器设计,支持线性和非线性过滤器设计。

b. butter:Butterworth低通和高通滤波器设计。

c. fir1:有限冲激响应低通和高通滤波器设计。

d. cheby1:Chebyshev第一类低通和高通滤波器设计。

(2) MATLAB还可以实现进阶的数字滤波器设计,用户可以用以下函数实现自动设计是否优化的滤波器:a. fda:设计优化低通滤波器b. fda2:设计优化定带滤波器c. fda3:设计优化双带和多带滤波器d. gfd:设计优化频谱均衡滤波器四.总结数字滤波器是一种应用广泛的信号处理技术,对于一些信号处理应用有着至关重要的作用。

MATLAB 可以简便的实现滤波器设计,并可以同时考虑多个优化目标,这些特性使其成为进行数字滤波器设计的理想工具。

数字滤波器matlab的程序

数字滤波器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 onaxis([Us/sum,Us/2,0,1.2*max(abs(X))])title('原模拟信号采样频谱图')Ucd=U1+(U2-U1)*1/5;Usd=U2-(U2-U1)*1/5;switch choisecase 1Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum);case -1Hz_ejw=IIR_DF_CF(Ucd,1,Usd,30,T,sum);case 0Hz_ejw=FIR_DF_HM(U1,U2,T,sum);otherwiseHz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum);endY=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 onaxis([0,T_sum,-max(x)*1.2,max(x)*1.2])x=sin(U1*t);plot(t,x,':r');grid ontitle('模拟信号滤波前')function Hz_ejw=IIR_DF_BW(Ucd,Ap,Usd,As,t,sum)% 巴特沃思滤波器E=(10^(0.1*Ap)-1)^0.5;V=(10^(0.1*As)-1)^0.5;Wc=Ucd*t; Ws=Usd*t;Ucd=Wc/t; Usd=Ws/t;Uca=(2/t)*tan(Ucd*t/2); Usa=(2/t)*tan(Usd*t/2);N=ceil(log10(V/E)/log10(Usa/Uca));k=[1:2*N];Spk=exp(j*(pi/2+(2*k-1)/(2*N)*pi));i=find(real(Spk)<0);Sk(1:N)=Spk(i);den=real(poly(Sk'));k0=polyval(den,0);disp('模拟巴特沃思滤波器的归一化统函数 Ha(s) 为')tf(k0,den)syms s z T;den_jU=1;s=s/Uca;for i=1:Nden_jU=s^(N-i+1)*den(i)+den_jU;endHa_s=simple(1/den_jU);H_z=subs(Ha_s,'s',(2/T)*((1-1/z)/(1+1/z)));k=1:sum;w=(2*pi/sum)*k;ejw=exp(j*w);Hz_ejw=subs(H_z,{z,T},{ejw,t*ones(1,length(ejw))}); figure(1); subplot(223)plot(w,abs(Hz_ejw)); grid ontitle('巴特沃思低通滤波器')axis([2*pi/sum,pi,-0.2,1.2*max(abs(Hz_ejw))]) function Hz_ejw=IIR_DF_CF(Ucd,Ap,Usd,As,t,sum)% 切比雪夫低通滤波器E=(10^(0.1*Ap)-1)^0.5;V=(10^(0.1*As)-1)^0.5;Wc=Ucd*t; Ws=Usd*t;Ucd=Wc/t; Usd=Ws/t;Uca=(2/t)*tan(Ucd*t/2); Usa=(2/t)*tan(Usd*t/2);N=ceil(acosh(V/E)/acosh(Usa/Uca));;A=1/E+(1/E^2+1)^0.5;a=1/2*(A^(1/N)-A^(-1/N));b=1/2*(A^(1/N)+A^(-1/N));k=1:2*N;Spk=-a*sin((2*k-1)/(2*N)*pi)+j*b*...cos((2*k-1)/(2*N)*pi);i=find(real(Spk)<0);Sk(1:N)=Spk(i);den=real(poly(Sk'));k0=1;disp('模拟切比雪夫低通滤波器的归一化统函数 Ha(s) 为') tf(k0,den)if (rem(N,2)==1)for i=1:Nk0=k0*(-Sk(i));endelseif ((rem(N,2))==0)k0=1;for i=1:Nk0=k0*(-Sk(i));endendif (rem(N,2)==0)k0=10^(-0.05*Ap)*k0;endk0=real(k0);syms s z T;den_jU=1;s=s/Uca;for i=1:Nden_jU=s^(N-i+1)*den(i)+den_jU;endHa_s=simple(1/den_jU);H_z=subs(Ha_s,'s',(2/T)*((1-1/z)/(1+1/z)));k=1:sum;w=(2*pi/sum)*k;ejw=exp(j*w);Hz_ejw=subs(H_z,{z,T},{ejw,t*ones(1,length(ejw))}); figure(1); subplot(223)plot(w,abs(Hz_ejw));grid ontitle('切比雪夫低通滤波器')axis([2*pi/sum,pi,-0.5,max(abs(Hz_ejw))])function Hz_ejw=FIR_DF_HM(U1,U2,T,sum)wp=U1*T;ws=U2*T;kuan=ws-wp;M=sum;n=[0:1:M-1];wc=(ws+wp)/2;hd=H_D(wc,M);window=hamming_m(M);h_z=hd.*window;Hz_ejw=DFT(h_z);k=1:sum;w=(2*pi/sum)*k;figure(1); subplot(223)plot(w,abs(Hz_ejw));grid onaxis([2*pi/sum,pi,-0.2,1.2*max(abs(Hz_ejw))]);title('海明窗函数低通滤波器')function hd=H_D(wc,N)M=(N-1)/2;for k=-M:Mif k==0hd(k+M+1)=wc/pi;elsehd(k+M+1)=sin(wc*k)/(pi*k);endendfunction wn=hamming_m(M)n=0:M-1;wn(n+1)=0.54-0.46*cos((2*pi*n)/(M-1));function Xk=DFT(xn)% 离散傅立叶变换,xn为原序列,Xk为DFT变换后的序列N=length(xn);n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;。

利用MATLAB设计巴特沃斯低通数字滤波器

利用MATLAB设计巴特沃斯低通数字滤波器

利用MATLAB设计巴特沃斯低通数字滤波器引言数字滤波器是数字信号处理中的重要组成部分,可以用于去除信号中的噪音和不需要的频率成分。

巴特沃斯滤波器是一种常见的数字滤波器,被广泛应用于信号处理领域。

本文将介绍如何利用MATLAB设计巴特沃斯低通数字滤波器,并给出详细的步骤和示例代码。

设计步骤利用MATLAB设计巴特沃斯低通数字滤波器主要包括以下步骤:1.设计滤波器的参数2.计算滤波器的传递函数3.绘制滤波器的幅频响应曲线4.通过频域图像观察滤波器的性能下面将分别介绍每个步骤的详细操作。

设计滤波器的参数巴特沃斯低通数字滤波器的参数包括截止频率和阶数。

截止频率决定了滤波器的通频带,阶数决定了滤波器的陡峭程度。

通过MATLAB的butter()函数可以方便地设计巴特沃斯低通数字滤波器。

该函数的参数为滤波器的阶数和截止频率。

示例代码如下:order = 4; % 阶数cutoff_freq = 0.4; % 截止频率[b, a] = butter(order, cutoff_freq);计算滤波器的传递函数通过设计参数计算得到滤波器的传递函数。

传递函数是一个复数,包括了滤波器的频率响应信息。

使用MATLAB的freqz()函数可以计算滤波器的传递函数。

该函数的参数为滤波器的系数b和a,以及频率取样点的数量。

示例代码如下:freq_points = 512; % 频率取样点数量[h, w] = freqz(b, a, freq_points);绘制滤波器的幅频响应曲线经过计算得到的传递函数能够提供滤波器的幅频响应信息。

通过绘制幅频响应曲线,可以直观地观察滤波器的频率特性。

使用MATLAB的plot()函数可以绘制滤波器的幅频响应曲线。

该函数的参数为频率点和传递函数的幅值。

示例代码如下:magnitude = abs(h); % 幅值plot(w/pi, magnitude);xlabel('归一化频率');ylabel('幅值');title('巴特沃斯低通数字滤波器幅频响应');通过频域图像观察滤波器的性能通过绘制滤波器的频域图像,可以直观地观察滤波器对不同频率的信号的响应情况。

基于Matlab的IIR数字滤波器设计(论文)

基于Matlab的IIR数字滤波器设计(论文)

摘要在现代通信系统中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,而数字滤波器是通过数值运算实现滤波,具有处理精度高、稳定、灵活、不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊滤波功能。

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。

实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,精度高,而且能够保留一些模拟滤波器的优良特性,因此应用很广。

Matlab软件以矩阵运算为基础,把计算、可视化及程序设计有机融合到交互式工作环境中,并且为数字滤波的研究和应用提供了一个直观、高效、便捷的利器。

尤其是Matlab中的信号处理工具箱使各个领域的研究人员可以直观方便地进行科学研究与工程应用。

本文首先介绍了数字滤波器的概念,分类以及设计要求。

接着利用MATLAB函数语言编程,用信号处理图形界面FDATool来设计滤波器以及Sptool界面设计的方法,并用FDATool模拟IIR 数字滤波器处理信号。

重点设计Chebyshev I型和Chebyshev II型数字低通滤波器,并介绍最优化设计。

【关键字】IIR 滤波器FDATool Sptool SimulinkABSTRACTIn modern communication systems,Because often mixed with various signal complex components,So many signal analysis is based on filters, and the digital filter is realized through numerical computation, digital filters filter with high precision, stability and flexibility, don't exist, can realize the impedance matching simulating the special filter cannot achieve filter function. Digital filter according to its impulse response function and characteristics of the time can be divided into two kinds, namely the infinite impulse response (IIR) digital filter and finite impulse response (FIR digital filters). The order of realizing IIR filter is used, low and high efficiency less storage unit, high precision, and can keep some simulation characteristics of filter, so it is widely used. Matlab software based on matrix computation, the calculation, visualization and program design of organic integration to interactive environment for digital filter, and the research and application of provides an intuitive, efficient and convenient tool. Especially in the Matlab signal processing to all areas of research toolbox personnel can easily for scientific research and engineering application. This paper introduces the concept of digital filter, classification and design requirements. Then using MATLAB language programming, with functions of signal processing FDATool graphical interface design of interface design and Sptool filter, and FDATool analog signal processing IIR digital filter. Key design Chebyshev type I and II digital Chebyshev lowpass filter, and introduces optimization design.【Keywords】IIR Filter FDATool Sptool Simulink目录前言 ............................................................. 1第一章数字滤波器 ................................................. 2第一节数字滤波器的概念........................................ 2第二节数字滤波器的分类........................................ 2第三节数字滤波器的设计要求.................................... 4第二章 IIR数字滤波器设计方法...................................... 5第一节 IIR数字滤波器的设计步骤................................. 5第二节用脉冲相应不变法设计IIR数字滤波器...................... 6一、设计原理................................................ 6二、脉冲响应不变法优缺点.................................... 8第三节双线性变换法设计IIR数字滤波器.......................... 9一、设计原理................................................ 9二、双线性变换法优缺点.................................... 11第三章 IIR滤波器的MATLAB设计................................... 13第一节 IIR数字滤波器的典型设计法............................. 14第二节 IIR数字滤波器的直接设计法............................. 18第三节 FDATool介绍和界面设计................................. 23第四节 FDATOOL设计IIR数字滤波器............................. 24第五节 SIMULINK 仿真IIR滤波器............................... 26总结 ........................................................... 29致谢 ........................................................... 30参考文献 ........................................................ 31结束语 .......................................................... 32前言随着信息时代和数字世界的到来,数字信号处理已成为当今一门极其重要的学科和技术领域。

基于MATLAB的数字滤波器设计

基于MATLAB的数字滤波器设计

编号淮安信息职业技术学院毕业论文学生姓名。

学号。

系部。

专业。

班级。

指导教师。

顾问教师。

摘要本论文介绍了FIR数字滤波器的设计方法,即窗函数法。

在此基础上,用MATLAB实现IIR数字滤波器。

介绍了IIR数字滤波器的传统设计思想与步骤,及其计算机辅助设计方法。

以一数字带通滤波器为例,着重说明了基于MATLAB的三种滤波器的实现手段:模拟低通原型、合适模拟带通及直接原型,为数字滤波器设计带来全新的实现手段。

关键词:滤波 IIR滤波器 FIR滤波器MATLAB淮安信息职业技术学院目录第一章前言1.1 MATLAB 软件简介 (4)1.2数字滤波器技术的发展状况 (5)第二章数字滤波器的基本概念2.1数字滤波器的概况 (6)2.2 FIR 数字滤波器的基本概念 (6)2.2.1 FIR 数字滤波器的窗函数设计法 (7)2.2.2 窗函数设计法的步骤 (7)2.3 MATLAB环境下的实例 (9)2.3.1高通滤波器的设计 (9)2.3.2低通滤波器的设计 (10)第三章 IIR数字滤波器的设计过程及方法3.1 IIR滤波器的基本特点 (13)3.2 IIR滤波器的设计思路与步骤 (14)3.3 IIR 滤波器的设计 (14)3.4 IIR滤波器设计方法MATLAB的实现 (15)3.4.1 基于模拟低通原型的MATLAB实现 (15)3.4.2基于合适类型模拟滤波器的MATLAB实现 (16)3.4.3 基于直接原型变换法的MATLAB实现 (18)总结 (19)参考文献 (20)第一章前言1.1. MATLAB简介MATLAB (Matrix Laboratory)为美国Mathworks公司1983年首次推出的一套高性能的数值分析和计算软件,其功能不断扩充,版本不断升级,1992年推出划时代的4.0版,1993年推出了可以配合Microsoft Windous使用的微机版,95年4.2版,97年5.0版,99年5.3版,5.X版无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和PDF格式,可以方便的浏览。

基于MATLAB设计FIR滤波器

基于MATLAB设计FIR滤波器

基于MATLAB设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种数字滤波器,它具有有限的冲激响应长度。

基于MATLAB设计FIR滤波器可以使用signal工具箱中的fir1函数。

fir1函数的语法如下:b = fir1(N, Wn, window)其中,N是滤波器的阶数,Wn是截止频率,window是窗函数。

要设计一个FIR低通滤波器,可以按照以下步骤进行:步骤1:确定滤波器的阶数。

阶数决定了滤波器的截止频率的陡峭程度。

一般情况下,阶数越高,滤波器的陡峭度越高,但计算复杂度也会增加。

步骤2:确定滤波器的截止频率。

截止频率是指在滤波器中将信号的频率限制在一定范围内的频率。

根据应用的需求,可以选择适当的截止频率。

步骤3:选择窗函数。

窗函数是为了在时域上窗口函数中心增加频率衰减因子而使用的函数。

常用的窗函数有Hamming、Hanning等。

窗函数可以用来控制滤波器的幅度响应特性,使得它更平滑。

步骤4:使用fir1函数设计滤波器。

根据以上步骤确定滤波器的阶数、截止频率和窗函数,可以使用fir1函数设计FIR滤波器。

具体代码如下:N=50;%设定阶数Wn=0.5;%设定截止频率window = hanning(N + 1); % 使用Hanning窗函数步骤5:使用filter函数对信号进行滤波。

设计好FIR滤波器后,可以使用filter函数对信号进行滤波。

具体代码如下:filtered_signal = filter(b, 1, input_signal);其中,input_signal是输入信号,filtered_signal是滤波后的信号。

以上,便是基于MATLAB设计FIR滤波器的简要步骤和代码示例。

根据具体需求和信号特性,可以进行相应的调整和优化。

基于MATLAB的IIR数字滤波器设计与仿真

基于MATLAB的IIR数字滤波器设计与仿真

基于MATLAB的IIR数字滤波器设计与仿真一、概述在现代数字信号处理领域中,数字滤波器扮演着至关重要的角色。

其通过对输入信号的特定频率成分进行增强或抑制,实现对信号的有效处理。

无限脉冲响应(IIR)数字滤波器因其设计灵活、实现简单且性能优良等特点,得到了广泛的应用。

本文旨在基于MATLAB平台,对IIR数字滤波器的设计与仿真进行深入研究,以期为相关领域的研究与应用提供有益的参考。

IIR数字滤波器具有无限长的单位脉冲响应,这使得其在处理信号时能够展现出优秀的性能。

与有限脉冲响应(FIR)滤波器相比,IIR滤波器在实现相同性能时所需的阶数更低,从而减少了计算复杂度和存储空间。

在需要对信号进行高效处理的场合,IIR滤波器具有显著的优势。

MATLAB作为一款功能强大的数学软件,提供了丰富的函数和工具箱,使得数字滤波器的设计与仿真变得简单而高效。

通过MATLAB,我们可以方便地实现IIR滤波器的设计、分析和优化,从而满足不同应用场景的需求。

本文将首先介绍IIR数字滤波器的基本原理和特性,然后详细阐述基于MATLAB的IIR数字滤波器的设计方法和步骤。

接着,我们将通过仿真实验验证所设计滤波器的性能,并对其结果进行分析和讨论。

本文将总结IIR数字滤波器设计与仿真的关键技术和注意事项,为相关领域的研究人员和工程师提供有益的参考和启示。

1. IIR数字滤波器概述IIR(Infinite Impulse Response)数字滤波器是数字信号处理中常用的一类滤波器,它基于差分方程实现信号的滤波处理。

与FIR (Finite Impulse Response)滤波器不同,IIR滤波器具有无限长的单位脉冲响应,这意味着其输出不仅与当前和过去的输入信号有关,还与过去的输出信号有关。

这种特性使得IIR滤波器在实现相同的滤波效果时,通常具有更低的计算复杂度,从而提高了处理效率。

IIR滤波器的设计灵活多样,可以根据不同的需求实现低通、高通、带通和带阻等多种滤波功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IIR 低通滤波器的设计程序为:
Ft=8000;
Fp=1000;
Fs=1200;
As=100 ;
Ap=1;
wp=2*pi*Fp/Ft;
ws=2*pi*Fs/Ft;
fp=2*Fp*tan(wp/2);
fs=2*Fs*tan(ws/2);
[n11,wn11]=buttord(wp,ws,1,50,'s');
[b11,a11]=butter(n11,wn11,'s');
[num11,den11]=bilinear(b11,a11,0.5);
[h,w]=freqz(num11,den11);
axes(handles.axes1);
plot(w*8000*0.5/pi,abs(h));
xlabel('Frequency/Hz');
ylabel('Magnitude');
title('巴特沃斯数字低通滤波器');
巴特沃斯带通滤波器设计程序为:
Ft=8000;
Fp1=1200;
Fp2=3000;
Fs1=1000;
Fs2=3200;
As=100;
Ap=1;
wp1=tan(pi*Fp1/Ft);
wp2=tan(pi*Fp2/Ft);
ws1=tan(pi*Fs1/Ft);
ws2=tan(pi*Fs2/Ft);
w=wp1*wp2/ws2;
bw=wp2-wp1;
wp=1;
ws=(wp1*wp2-w.^2)/(bw*w);
[n12,wn12]=buttord(wp,ws,1,50,'s');
[b12,a12]=butter(n12,wn12,'s');
[num2,den2]=lp2bp(b12,a12,sqrt(wp1*wp2),bw);
[num12,den12]=bilinear(num2,den2,0.5);
[h,w]=freqz(num12,den12);
plot(w*8000*0.5/pi,abs(h));
axis([0 4000 0 1.5]);
xlabel('Frequency/Hz');
ylabel('Magnitude');
title('巴特沃斯数字带通滤波器');
IIR 高通滤波器的设计程序为:
Ft=8000;
Fp=4000;
Fs=3500;
wp1=tan(pi*Fp/Ft);
ws1=tan(pi*Fs/Ft);
wp=1;
ws=wp1*wp/ws1;
[n13,wn13]=cheb1ord(wp,ws,1,50,'s');
[b13,a13]=cheby1(n13,1,wn13,'s');
[num,den]=lp2hp(b13,a13,wn13);
[num13,den13]=bilinear(num,den,0.5);
[h,w]=freqz(num13,den13);
axes(handles.axes1);
plot(w*21000*0.5/pi,abs(h));
xlabel('Frequency/Hz');
ylabel('Magnitude');
title('切比雪夫Ⅰ型数字高通滤波器');
合成信号频谱程序如下:
f1=20;
f2=200;
f3=500;
t=(1:100)/2000;
x1=sin(2*pi*t*f1);
x2=sin(2*pi*t*f2);
x3=sin(2*pi*t*f3);
x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);
n=[1:100];t=n/2000
X=fft(x,512);w=(0:255)/256*1000;
x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);
axes(handles.axes1);
plot(x);
xlabel('t');ylabel('幅度');
title('合成信号波形图');
axes(handles.axes2);
plot(w,abs([X(1:256)]));
xlabel('Hz');ylabel('频率响应幅度');
title('合成信号频谱图');。

相关文档
最新文档