数字信号处理和滤波器设计
数字信号处理滤波器设计

逼近——在滤波器设计中逼近是一个重要的环节。逼近就是给定所要求 的滤波器性能后,去寻找一个物理可实现的系统函数,使它的频率特性 尽可能近似所要求的滤波器特性,也就是指对理想特性进行逼近,最后
脉冲响应不变法让数字滤波器的脉冲响应和模拟滤波器
的脉冲响应在采样点上完全一样。即: hn ha nT
单位脉冲响应不变法的设计思想:使 数字滤波器从时域去模仿模拟滤波器。
H a s L1 ha t 采样 ha nT hn Z变换 Hz
2.脉冲响应不变法设计的系统的频率响应
E
H e jwi H d e jwi
2 最小
i 1
第二步:进行迭代运算,确定最优系数
N
ai z i
H z
i0 N
1 bi z i
i 1
DF的传递函数
通过改变 Hz的系数 ai、 bi,分别计算均方误差E , 经过多次迭代运算,寻找一组系数 ai、 bi,使得均方误差
利用模拟滤波器设计数字滤波器, 首先利用模拟滤波器的现成结果, 在S平面设计出符合要求的模拟滤波
器的传递函数H a s ,再通过一定的
映射关系,得到数字滤波器的传递
函数 Hz 。
二. 最常用的几种模拟原型低通滤波器的逼近方法
在进行IIR 数字滤波器的设计时, 要逼近模拟原型低通滤波器, 模拟低通滤波器通常仅考虑幅频特性,习惯上以幅度平方函数来表示 模特性。
即要求
② 是因果稳定的映射
指 H a s 的因果稳定性通过映射后, Hz 仍应保持因果
稳定。
§4.2 脉冲响应不变法
数字信号处理中的滤波器设计原理

数字信号处理中的滤波器设计原理在数字信号处理中,滤波器是一种用于处理信号的重要工具。
它可以通过选择性地改变信号的频率特性,滤除不需要的频率成分或增强感兴趣的频率成分。
滤波器的设计原理可以分为两个方面:频域设计和时域设计。
一、频域设计频域设计是一种以频率响应为初始条件的设计方法。
其基本思想是通过指定理想频率响应来设计滤波器,并将其转化为滤波器的参数。
常见的频域设计方法包括理想滤波器设计、窗函数法设计和频率抽取法设计。
1. 理想滤波器设计理想滤波器设计方法是基于理想滤波器具有理想的频率响应特性,如理想低通滤波器、理想高通滤波器或理想带通滤波器等。
设计过程中,我们首先指定滤波器的理想响应,然后通过傅里叶变换将其转化为时间域中的脉冲响应,最终得到频率响应为指定理想响应的滤波器。
2. 窗函数法设计窗函数法是一种将指定的理想滤波器响应与某种窗函数相乘的设计方法。
常见的窗函数有矩形窗、汉宁窗、汉明窗等。
通过将理想滤波器响应与窗函数相乘,可以获得更实际可行的设计结果。
3. 频率抽取法设计频率抽取法是一种通过对滤波器的选择性抽取来设计的方法。
在该方法中,我们通常先设计一个频域连续的滤波器,然后通过采样抽取的方式,将频域上的滤波器转化为时域上的滤波器。
二、时域设计时域设计是一种以时域响应为初始条件的设计方法。
其基本思想是通过直接设计或优选设计时域的脉冲响应,进而得到所需的滤波器。
常用的时域设计方法包括有限脉冲响应(FIR)滤波器设计和无限脉冲响应(IIR)滤波器设计。
1. FIR滤波器设计FIR滤波器是一种具有有限长度的脉冲响应的滤波器。
在设计FIR滤波器时,我们可以通过多种方法,如频率采样法、窗函数法、最小二乘法等来优化滤波器的设计参数。
2. IIR滤波器设计IIR滤波器具有无限长度的脉冲响应,其设计涉及到环节函数的设计。
常见的IIR滤波器设计方法有巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器等。
综上所述,数字信号处理中的滤波器设计原理可以基于频域设计和时域设计。
数字信号处理基础与数字滤波器设计原理

数字信号处理基础与数字滤波器设计原理数字信号处理(Digital Signal Processing,简称DSP)是指对数字信号进行各种算法操作和处理的一种技术方法。
数字滤波器是数字信号处理的重要组成部分,它可以对信号进行滤波、去噪、增强等处理,广泛应用于通信系统、音频处理、图像处理等领域。
本文将介绍数字信号处理的基础知识以及数字滤波器的设计原理。
一、数字信号处理基础数字信号是以离散时间和离散幅度为特点的信号。
与之相对的是模拟信号,模拟信号是连续时间和连续幅度的信号。
数字信号处理主要涉及到离散时间信号的采样、量化和离散化。
其中,采样是指将连续时间信号在一定时间间隔内进行离散采样,量化是指将连续幅度信号离散化为一系列的数字值。
数字信号处理的基础操作包括信号的变换、滤波和频谱分析等。
信号的变换可以将信号从时域转换到频域,常用的变换方法包括傅里叶变换、离散傅里叶变换和小波变换等。
滤波是对信号中某些特定频率成分的增强或抑制,常用的滤波方法有低通滤波、高通滤波、带通滤波和带阻滤波等。
频谱分析可以用于分析信号的频率特性,了解信号中包含的频率成分。
二、数字滤波器的基本概念数字滤波器是数字信号处理中最常用的工具之一,它可以从输入信号中选择性地提取或抑制某些频率成分。
根据滤波器的特性,可以将其分为无限长冲激响应(Infinite Impulse Response,IIR)滤波器和有限长冲激响应(Finite Impulse Response,FIR)滤波器。
无限长冲激响应滤波器是一种递归滤波器,其输出是输入信号与滤波器的冲激响应的卷积运算结果。
无限长冲激响应滤波器具有宽带特性和较好的频率响应,但在实际应用中会引入稳定性问题。
有限长冲激响应滤波器是一种非递归滤波器,其输出仅与输入信号和滤波器的系数有关,不涉及历史输入。
有限长冲激响应滤波器的稳定性较好,容易实现,并且可以通过调整滤波器的系数来实现不同的滤波效果。
三、数字滤波器设计原理数字滤波器的设计过程主要包括滤波器类型的选择、滤波器规格的确定和滤波器参数的计算。
数字信号处理中的滤波器设计及其应用

数字信号处理中的滤波器设计及其应用数字信号处理中的滤波器是一种用于处理数字信号的工具,它能够从信号中去除杂音、干扰等不需要的部分,使信号变得更加清晰、准确。
在数据通信、音频处理、图像处理等各种领域都有着广泛的应用。
本文将探讨数字信号处理中的滤波器设计及其应用。
一、滤波器的分类根据滤波器能否传递直流分量,可以将滤波器分为直流通、低通、高通、带通和带阻五种类型。
1.直流通滤波器:直流通滤波器不会滤除信号中的直流分量,只是将信号波形的幅值进行调整。
它主要用于直流电源滤波、电池充电电路等。
2.低通滤波器:低通滤波器可以通过滤除信号中的高频分量来保留低频分量,其截止频率通常指代3dB的频率,低于该频率的信号通过的幅度保持不变,而高于该频率的信号则被削弱。
低通滤波器主要用于音频处理、语音识别等。
3.高通滤波器:高通滤波器与低通滤波器相反,它滤除低频分量,只保留高频分量。
其截止频率也指代3dB的频率,高于该频率的信号通过的幅度保持不变。
高通滤波器主要用于图像处理、视频处理等。
4.带通滤波器:带通滤波器可以通过滤除一定频率范围内的信号,使得出现在该频率范围内的信号通过,而其他的信号则被削弱。
带通滤波器主要应用于频率选择性接收和频率选择性信号处理。
5.带阻滤波器:带阻滤波器可以通过滤除一定频率范围内的信号,使得不在该频率范围内的信号通过,而其他的信号则被削弱。
带阻滤波器主要应用于频率选择性抑制和降噪。
二、滤波器设计方法滤波器的设计需要考虑其所需的滤波器类型、截止频率、通/阻带宽度等参数。
现有的设计方法主要有两种:频域设计和时域设计。
1.频域设计:频域设计是一种基于频谱分析的滤波器设计方法,其核心是利用傅里叶变换将时域信号转换为频域信号,进而根据所需的滤波器类型和参数进行滤波器设计。
常见的频域设计方法包括理想滤波器设计、布特沃斯滤波器设计、切比雪夫滤波器设计等。
理想滤波器设计基于理想低通、高通、带通或带阻滤波器的理论,将所需的滤波器类型变换为频率响应函数进行滤波器设计。
数字信号处理实验数字巴特沃思滤波器的设计

数字信号处理实验数字巴特沃思滤波器的设计数字信号处理技术是现代通信、音频、图像等领域中不可或缺的一门技术。
数字信号处理的核心是数字滤波器设计,本文将介绍一种常用的数字滤波器——数字巴特沃斯滤波器的设计方法。
一、数字滤波器简介数字滤波器是将连续时间信号转换成离散时间信号,实现对离散时间信号的滤波处理,具有实时性好、精度高、可重复性强等优点。
数字滤波器有两种类型:有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。
二、数字巴特沃斯滤波器数字巴特沃斯滤波器是一种常用的IIR滤波器,其主要特点是具有平坦的通/阻带,通/阻带边缘陡峭。
因此在实际应用中,数字巴特沃斯滤波器应用较为广泛。
数字巴特沃斯滤波器的设计方法一般包括以下步骤:确定滤波器类型、确定通/阻带的截止频率、确定滤波器的阶数、计算滤波器的系数。
1、确定滤波器类型在实际应用中,数字巴特沃斯滤波器有四种类型:低通、高通、带通和带阻滤波器,应根据实际需求选择。
2、确定通/阻带的截止频率通常情况下,固定本例中采用的是低通滤波器,需要确定的就是通带和阻带的截止频率。
对于低通滤波器,通带截止频率ωc应该比信号频率fs的一半小,阻带截止频率ωs 应该比ωc大一些,通常ωs/ωc取0.5~0.7比较好。
滤波器的阶数一般是与滤波器的性能相关的。
阶数越高,性能越好,但同时计算量也会更大。
在实际应用中,一般取4~8的阶数即可。
4、计算滤波器的系数根据上述参数计算滤波器的系数,这里介绍两种常用的方法:一种是脉冲响应不变法(Impulse Invariant Method),另一种是双线性变换法(Bilinear Transformation)。
脉冲响应不变法是一种较为简单的设计方法,但由于其数字滤波器与连续时间滤波器之间的不同,可能会引入一定程度的失真。
双线性变换法可以使二阶系统和一阶系统的增益分别为1和0dB,这是一种比较理想的设计方法。
四、实验步骤本实验采用Matlab软件进行数字滤波器的设计,具体步骤如下:1、打开Matlab软件,新建一个.m文件;2、输入需要滤波的数字信号,此处可以使用Matlab自带的signal工具箱中的一些模拟信号;4、使用filter函数实现数字滤波器对信号的滤波过程;5、通过比较信号的频谱图,评估滤波器的性能。
数字信号处理实验报告-FIR滤波器的设计与实现

数字信号处理实验报告-FIR滤波器的设计与实现在数字信号处理中,滤波技术被广泛应用于时域处理和频率域处理中,其作用是将设计信号减弱或抑制被一些不需要的信号。
根据滤波器的非线性抑制特性,基于FIR(Finite Impulse Response)滤波器的优点是稳定,易设计,可以得到较强的抑制滤波效果。
本实验分别通过MATLAB编程设计、实现、仿真以及分析了一阶低通滤波器和平坦通带滤波器。
实验步骤:第一步:设计一阶低通滤波器,通过此滤波器对波型进行滤波处理,分析其对各种频率成分的抑制效果。
为此,采用零极点线性相关算法设计滤波器,根据低通滤波器的特性,设计的低通滤波器的阶次为n=10,截止频率为0.2π,可以使设计的滤波器被称为一阶低通滤波器。
第二步:设计平坦通带滤波器。
仿真证明,采用兩個FIR濾波器組合而成的阻礙-提升系統可以實現自定義的總三值響應的設計,得到了自定義的總三值響應函數。
实验结果:1、通过MATLAB编程,设计完成了一阶低通滤波器,并通过实验仿真得到了一阶低通滤波器的频率响应曲线,证明了设计的滤波器具有良好的低通性能,截止频率为0.2π。
在该频率以下,可以有效抑制波形上的噪声。
2、设计完成平坦通带滤波器,同样分析其频率响应曲线。
从实验结果可以看出,此滤波器在此频率段内的通带性能良好,通带范围内的信号透过滤波器后,损耗较小,滞后较小,可以满足各种实际要求。
结论:本实验经过实验操作,设计的一阶低通滤波器和平坦通带滤波器具有良好的滤波特性,均已达到预期的设计目标,证明了利用非线性抑制特性实现FIR滤波处理具有较强的抑制滤波效果。
本实验既有助于深入理解FIR滤波器的设计原理,也为其他应用系统的设计和开发提供了指导,进而提高信号的处理水平和质量。
fir数字滤波器设计与软件实现数字信号处理实验原理

fir数字滤波器设计与软件实现数字信号处理实验原理FIR数字滤波器设计的基本原理是从理想滤波器的频率响应出发,寻找一个系统函数,使其频率响应尽可能逼近滤波器要求的理想频率响应。
为了实现这一目标,通常会采用窗函数法进行设计。
这种方法的基本思想是,将理想滤波器的无限长单位脉冲响应截断为有限长因果序列,并用合适的窗函数进行加权,从而得到FIR滤波器的单位脉冲响应。
在选择窗函数时,需要考虑其频率响应和幅度响应。
常见的窗函数包括矩形窗、三角形窗、汉宁窗、汉明窗、布莱克曼窗和凯泽窗等。
每种窗函数都有其特定的特性,如主瓣宽度、旁瓣衰减等。
根据实际需求,可以选择合适的窗函数以优化滤波器的性能。
在软件实现上,可以使用各种编程语言和信号处理库进行FIR滤波器的设计和实现。
例如,在MATLAB中,可以使用内置的`fir1`函数来设计FIR滤波器。
该函数可以根据指定的滤波器长度N和采样频率Fs,自动选择合适的窗函数并计算滤波器的系数。
然后,可以使用快速卷积函数`fftfilt`对输入信号进行滤波处理。
此外,还可以使用等波纹最佳逼近法来设计FIR数字滤波器。
这种方法的目标是找到一个最接近理想滤波器频率响应的实数序列,使得在所有可能的实
数序列中,该序列的误差平方和最小。
通过优化算法,可以找到这个最优序列,从而得到性能更优的FIR滤波器。
总的来说,FIR数字滤波器设计与软件实现数字信号处理实验原理是基于对理想滤波器频率响应的逼近和优化,通过选择合适的窗函数和算法,实现信号的滤波处理。
数字信号处理实验FIR数字滤波器的设计

数字信号处理实验:FIR数字滤波器的设计1. 引言数字滤波器是数字信号处理的关键技术之一,用于对数字信号进行滤波、降噪、调频等操作。
FIR (Finite Impulse Response) 数字滤波器是一种常见的数字滤波器,具有线性相应和有限的脉冲响应特性。
本实验旨在通过设计一个FIR数字滤波器来了解其基本原理和设计过程。
2. FIR数字滤波器的基本原理FIR数字滤波器通过对输入信号的每一个样本值与滤波器的冲激响应(滤波器的系数)进行线性加权累加,来实现对信号的滤波。
其数学表达式可以表示为:y(n) = b0 * x(n) + b1 * x(n-1) + b2 * x(n-2) + ... + bN * x(n-N)其中,y(n)表示滤波器的输出,x(n)表示滤波器的输入信号,b0~bN表示滤波器的系数。
FIR数字滤波器的脉冲响应为有限长度的序列,故称为有限冲激响应滤波器。
3. FIR数字滤波器的设计步骤FIR数字滤波器的设计主要包括以下几个步骤:步骤1: 确定滤波器的阶数和截止频率滤波器的阶数决定了滤波器的复杂度和性能,而截止频率决定了滤波器的通带和阻带特性。
根据实际需求,确定滤波器的阶数和截止频率。
步骤2: 选择滤波器的窗函数窗函数是FIR滤波器设计中常用的一种方法,可以通过选择不同的窗函数来实现不同的滤波器特性。
常用的窗函数有矩形窗、汉宁窗、汉明窗等。
根据实际需求,选择合适的窗函数。
步骤3: 计算滤波器的系数根据选择的窗函数和滤波器的阶数,使用相应的公式或算法计算滤波器的系数。
常见的计算方法有频率采样法、窗函数法、最小二乘法等。
步骤4: 实现滤波器根据计算得到的滤波器系数,可以使用编程语言或专用软件来实现滤波器。
步骤5: 评估滤波器性能通过输入测试信号,观察滤波器的输出结果,评估滤波器的性能和滤波效果。
常见评估指标有滤波器的幅频响应、相频响应、群延迟等。
4. 实验步骤本实验将以Matlab软件为例,演示FIR数字滤波器的设计步骤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机仿真技术实验指导书河南科技大学电子信息工程学院二〇〇八年二月计算机仿真技术实验指导书MATLAB是一种交互式的以矩阵为基本数据结构的系统。
在生成矩阵对象时,不要求明确的维数说明。
所谓交互式,是指MATLAB的草稿纸编程环境。
与C语言或FORTRON语言作科学数值计算的程序设计相比较,利用MATLAB可节省大量的编程时间。
本实验指导书主要讨论四个实验。
实验一信号与系统的时域分析以及信号合成与分解1. 实验目的(1) 连续时间信号的向量表示法和符号运算表示法,典型离散信号表示;(2) 连续信号和离散信号的时域运算与时域变换;(3) 连续系统和离散系统的卷积,以及冲激响应、阶跃响应、单位响应、零状态响应;(4) 周期信号的傅立叶级数分解与综合(以周期方波为例);2. 实验原理与方法(1) 信号在MATLAB中的表示方法MATLAB用两种方法来表示连续信号,一种是用向量的方法来表示信号,另一种则是符号运算的方法来表示信号。
用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令绘制出直观的信号时域波形。
向量表示法表示信号的方法是:MATLAB用一个向量表示连续信号的时间范围,另一个向量表示连续信号在该时间范围内的对应样值。
如下列代码p=0.001;t=-pi:p:pi;f=1+cos(t);plot(t,f)title('f(t)=1+cos(t)')xlabel('t')axis([-pi,pi,-0.2,2.4])执行后即可绘制连续信号1+cos(t)的时域波形。
借助于符号运算以及符号绘图函数ezplot,也可以绘制连续信号时域波形。
如下列代码syms tf=sym('1+cos(t)') %定义符号表达式ezplot(f,[-pi,pi]) %绘制符号表达式波形set(gcf,'color','w') %设置当前图形背景颜色为白色执行后即可绘制连续信号1+cos(t)的时域波形。
与连续信号的表示相似,在MATLAB中,离散信号也需要用两个向量来表示,其中一个向量表示离散信号的时间范围,另一个向量表示该离散信号在该时间范围内的对应样值。
但与连续信号表示有所不同的是,表示离散信号时间范围向量的元素必须为整数。
如下列代码n=[-3,-2,-1,0,1,2,3];x=[-3,2,-1,3,1,-2,1];stem(n,x,'filled')set(gcf,'color','w')title('x(n)')xlabel('n')执行后即可绘制离散信号x(n)={ -3,2,-1,3,1,-2,1}的时域波形。
↑n=0(2) 连续信号和离散信号的时域运算与时域变换对连续信号而言,其基本时域变换有反褶、平移、尺度变换、倒相。
利用MATLAB的符号运算功能以及符号绘图函数ezplot,可以直观的观察和分析连续信号的时域运算与时域变换。
如下列代码syms t;f=sym('(t+1)*(heaviside(t+1)-heaviside(t))');f=f+sym('(heaviside(t)-heaviside(t-1))'); %定义信号符号表达式ezplot(f,[-3,3]) %绘制信号波形axis([-3,3,-1.2,1.2])set(gcf,'color','w')title('f(t)')pausef1=subs(f,t,t+1.5); %变量替换ezplot(f1,[-3,3]) %绘制f(t+1.5)波形title('f(t+1.5)')pausef2=subs(f,t,t-1.5);ezplot(f2,[-3,3]) %绘制f(t-1.5)波形title('f(t-1.5)')pausef3=subs(f,t,-t);ezplot(f3,[-3,3]) %绘制f(-t)波形title('f(-t)')pausef4=-f;ezplot(f4,[-3,3]) %绘制-f(t)波形title('-f(t)')pausef5=subs(f,t,(1/2)*t);ezplot(f5,[-3,3]) %绘制f(0.5t)波形title('f(0.5t)')执行后即可实现连续信号的四种基本时域变换。
对离散信号而言,其基本时域变换有反褶、平移、倒相。
其基本原理同连续信号时域变换。
(3) 连续系统和离散系统的卷积,以及冲激响应、阶跃响应、单位响应、零状态响应卷积积分是连续信号与系统分析的有效方法和工具,利用MATLAB求离散序论卷积和的专用函数conv可以实现连续信号卷积积分的快速计算,并绘制出卷积积分信号的时域波形。
其具体步骤如下:将参与卷积积分运算的两个连续信号f1(t)和f2(t)以等时间间隔τ∆进行采样,得到其离散序论f1(nτ∆)和f2(nτ∆);生成与离散序论f1(nτ∆)和f2(nτ∆)相对应的时间向量n1和n2;调用conv函数计算卷积积分)∆的采f=在离散时间点mτtf*t)(2(1)(tf样值f(mτ∆);生成与f(mτ∆)相对应的时间向量n。
如下列代码function [f,t]=ctsconv(f1,f2,t1,t2)%计算连续信号卷积积分实用函数d=input('请输入取样时间间隔d: ');f=conv(f1,f2); %计算序列f1与f2的卷积和ff=f*d; %计算卷积积分信号f(t)离散样值ts=t1(1)+t2(1) %计算序列f非零样值的起点位置l=length(t1)+length(t2)-2; %计算卷积积分f的非零样值的宽度t=ts:d:(ts+l*d) %确定卷积积分f非零样值的时间向量subplot(2,2,1)plot(t1,f1) %在子图1绘制信号f1(t)的时域波形axis([min(t1),max(t1),min(f1)-abs(min(f1)*0.2),max(f1)+max(f1)*0.2])title('f1(t) ')xlabel('t')subplot(2,2,2)plot(t2,f2) %在子图2绘制信号f2(t)的时域波形axis([min(t2),max(t2),min(f2)-min(f2)*0.2,max(f2)+max(f2)*0.2])title('f2(t) ')xlabel('t')subplot(2,2,3)plot(t,f); %在子图3绘制卷积积分f(t)的时域波形axis([min(t),max(t),min(f)-min(f)*0.2,max(f)+max(f)*0.2])p=get(gca, 'position');p(3)=2.4*p(3);set(gca, 'position',p) %将第三个子图的横坐标范围扩为原来的2.4倍title('f(t)=f1(t)*f2(t)')xlabel('t')执行后即可实现连续信号的卷积积分运算。
卷积和是离散信号与系统分析的有效方法和工具,利用MATLAB 求离散序论卷积和的专用函数conv 可以实现离散信号卷积和的计算。
(4) 周期信号的傅立叶级数分解与综合周期信号可展开成如下两种正交函数线性组合的无穷级数:三角函数式的傅立里叶级数 {cosn ω1t,…,sinn ω1t}和复指数函数式的傅里叶级数 { e j n ω1t }。
设周期为T 的周期信号f(t)满足狄利赫利条件,则f(t)可以由三角函数的傅里叶级数线性组合表示如下:)sin cos ()(10t n b t n a a t f n n n ωω++=∑∞=其中: ⎰+=Tt t dt t f T a 00)(10⎰+=Tt t n dt t n t f Ta 00)cos()(2ω n=1,2,3,….⎰+=Tt t n dt t n t f T b 00)sin()(2ω n=1,2,3,….借助于MATLAB 的数学运算功能和可视化功能,可以直观的观察和分析周期信号的分解与合成。
3. 实验内容及步骤(1) 认真复习信号与系统的时域分析以及信号合成与分解等有关内容,阅读本实验原理与方法。
(2) 编制实验用程序。
编制基本连续信号如单位阶跃信号、实指数信号、单边指数衰减信号、正弦信号、复指数信号、虚指数信号的可视化程序;编制基本离散序列如单位抽样序列、单位阶跃序列、正弦序列、实指数序列、复指数序列的可视化程序;用square 、sawtooh 、rectplus 、triplus 、sinc 函数生成常见的标准信号; 编写绘制x1(n)={ 2,1,0,1,2} 和 x2(n)={ 1,2,3,4,5,6}的时域波形,并编写绘↑ ↑ n=0 n=0制二者相加和相乘的时域波形。
编写求解连续信号卷积积分并绘制卷积积分信号时域波形实用子程序;编写求解离散信号卷积和并能绘制卷积和信号时域波形的实用子程序;以周期方波为例,编写周期信号的傅立叶级数分解与合成的实用子程序。
4.实验方式及要求每人一台安装有Matlab7.0的计算机,在计算机上编程仿真。
一人一组,独立完成。
5. 思考题脚本文件与函数文件编写上有什么区别?二者用法上有什么区别?6. 实验报告要求(1) 简述实验目的及实验原理。
(2) 按实验步骤附上实验过程中的连续信号以及离散序列的时域波形,并对所得结果进行分析和解释。
(3) 总结实验中的主要结论。
(4) 简要回答思考题。
实验二 信号与系统的频域分析以及信号采样和重构1. 实验目的(1) 周期信号频谱分析;(2) 典型周期信号的频谱分析(以周期方波脉冲和周期三角波脉冲为例); (3) 用FFT 实现周期信号的频谱分析;(4) 信号幅度调制以及傅立叶变换性质的MATLAB 实现; (5) 系统频率响应; (6) 信号的采样与重构; 2. 实验原理与方法 (1) 周期信号频谱分析 由于周期信号可以分解如下:)sin cos ()(10t n b t n a a eF t f n n n tjn n n ωωω++==∑∑∞=∞-∞=则只要求出周期信号傅立叶级数的系数n c (或者n F )及n ϕ,就可以根据他们随角频率ω的变化关系画出信号的幅度频谱和相位频谱。
如下列代码function CTFS_RP% 以周期矩形脉冲信号为例,计算其频谱特性 % Nf :级数分解的谐波次数,由键盘输入 % Nn :输出数据的准确位数 % a0:直流项系数% an :第1,2,3,...次谐波余弦项展开系数 % bn :第1,2,3,...次谐波正弦项展开系数 % tao :周期矩形脉冲信号脉宽,由键盘输入 % T :周期矩形脉冲信号周期,由键盘输入display('Please input the value of T, tao and Nf'); %命令窗口提示用户输入参数 T = input('T = '); tao = input('tao = ');Nf = input('Nf = ');syms t n k x %定义符号变量Nn = 32; %输出数据的位数为32位an = zeros(Nf+1,1); %分配an系数数组bn = zeros(Nf+1,1); %分配bn系数数组phase = zeros(Nf+1,1); %分配相位数组s1 = strcat('Heaviside(t+',num2str(tao/2),')'); %构造u(t+tao/2)s2 = strcat('Heaviside(t-',num2str(tao/2),')'); %构造u(t-tao/2)x = sym(s1) - sym(s2); %构造一个周期的脉冲信号u(t+tao/2)-u(t-tao/2)A0 =2*int(x,t,-T/2,T/2)/T; %求出直流项a0As=2*int(x*cos(2*pi*n*t/T),t,-T/2,T/2)/T; %求出余弦项系数anBs=2*int(x*sin(2*pi*n*t/T),t,-T/2,T/2)/T; %求出正弦项系数bnan(1) = double(vpa(A0,Nn)); %获取参数组A0所对应的ASCII 码数值数组for k=1:Nfan(k+1)=double(vpa(subs(As,n,k),Nn)); %获取参数组As所对应的ASCII 码数值数组bn(k+1)=double(vpa(subs(Bs,n,k),Nn)); %获取参数组Bs所对应的ASCII 码数值数组endcn = sqrt(an.*an+bn.*bn); %计算幅度谱for i = 1:Nf %由于bn=0,相位由an的符号决定为0或piif an(i) >= 0phase(i) = 0;elsephase(i) = pi;endendt = -T*5:0.001:T*5;d = -T*5:T:T*5;xx = pulstran(t,d,'rectpuls',tao); %用pulstran函数生成矩形脉冲信号subplot(311); %将显示窗口分为3个子窗口,并指向第1个子窗口plot(t,xx); %绘制周期矩形脉冲信号axis([-T*5 T*5 0 1.1]); %指定坐标系范围%title('周期矩形脉冲信号','Fontsize',8); %标注标题s1 = strcat('周期矩形脉冲信号 T=',num2str(T),' Tao=',num2str(tao),'t'); xlabel(s1,'Fontsize',8); %x轴标签subplot(312); %指向第2个子窗口k = 0:Nf;stem(k,cn); %绘制幅度谱hold on;plot(k,cn); %绘制幅度谱包络线xlabel('幅度谱 \omega','Fontsize',8);subplot(313); %指向第3个子窗口stem(k,phase); %绘制相位谱xlabel('相位谱 \omega','Fontsize',8);% End绘制周期信号的频谱特性执行后即可实现周期信号频谱分析。