数字信号处理实验讲义
数字信号处理实验讲义上课【精选】
plot(n/32,abs(F_32),'o');
set(gca,'xtick',[0,0.25,0.5,0.75,1]);
set(gca,'ytick',[0,2,4,6,8]);
grid on ;
xlabel('Normalized frequency');
ylabel('Magnitude');
hold off
要求:
(1)确定DFT 计算的各参数;
(2)进行理论值与计算值比较,分析各信号频谱分析的计算精度;(3)详细列出利用DFT 分析离散信号谱线的步骤;(4)写出实验原理。
思考题:
(1)既然可以直接计算DTFT ,为什么利用DFT 分析离散信号谱?
(2)若信号持续时间无限,且无解析表达式,如何利用DFT 分析其频谱?(3)在利用DFT 分析离散信号频谱时,会出现哪些误差?如何克服或减弱?(4)在利用DFT 分析离散信号频谱时,如何选择窗函数?
(5)补零和增加信号长度都可以提高频谱分辨率,两者有何本质区别?
实验四
离散系统分析
实验目的:
1、学习系统响应的MATLAB 求解方法。
2、深刻理解离散系统的系统函数零极点对系统频响的影响,可以根据零极点知识设计简单的滤波器。
实验原理:
离散LTI 系统可用系统函数的分子分母多项式形式,零极点-增益形式或状态空间形式来描述。
(1)系统函数的分子分母多项式形式
4 11 201628。
数字信号处理实验讲义
数字信号处理实验指导书淮北煤炭师范学院物理与电子信息学院电子技术实验室目录实验一数字信号处理系统结构和编程 (1)实验二用FFT作谱分析 (4)实验三IIR滤波器的设计 (10)实验四FIR滤波器的设计 (17)附录一 (24)附录二 (26)附录三 (31)实验一数字信号处理系统结构和编程一、实验目的1.学习C语言的编程;2.掌握在CCS环境下的C程序设计方法;3.学会使用C和汇编语言混合编程;4.熟悉用C语言开发DSP程序的流程。
二、实验设备计算机,仿真器,THRS-1实验箱三、实验步骤与内容1.连接好DSP开发系统,实验箱上电,运行CCS;2.按流程图编写C程序,实现所要求的功能;3.例程序操作说明。
启动CCS 2.0,用Project/Open打开“DSP54X-01”目录下的“DSP54X01.pjt”工程文件,双击“DSP54X01.pjt”及“Source”可查看各源程序;并加载“DSP54X01.out”;单击“Run”运行程序;可以观察到D8指示灯闪烁;用View/Graph/Time/Frequency打开一个图形观察窗口;设置该观察图形窗口变量及参数;观察变量为x,长度为500,数值类型为16位有符号整型变量;如下图所示,图中下半部分为观察图形窗口的设置,上半部分为观察的图形。
四、程序框图五、实验说明CCS包含C编译器,支持标准C以及C和汇编混合编程。
C编译器包括三个功能模块:语法分析、代码优化和代码产生,如下图所示。
其中,语法分析(Parser)完成C语法检查和分析;代码优化(Optimizer)对程序进行优化,以便提高效率;代码产生(Code Generator)将C程序转换成C54x的汇编源程序。
本实验通过一些对数组及数据指针的基本操作,让实验者能够对使用C语言在CCS环境下编程有一个一目了然的认识。
并使用汇编语句,以体会两者综合运用时的优越性。
实验源程序如下:#include <math.h>#define pi 3.1415926#define N 500void main(){ int i,j;int *p;int x[500];for(i=0;i<N;i++)x[i]=0; for(i=0;i<N;i++){ x[i]=(int)100*sin(2*pi*i/250);}p=(int *)0x100;for(i=0;i<N;i++){ *p=x[i];p++ ;}for(;;){ asm(" rsbx xf");for(i=0;i<30000;i++)for(j=0;j<10;j++){ asm(" nop");asm(" nop");}asm(" ssbx xf");for(i=0;i<30000;i++)for(j=0;j<10;j++){asm(" nop");asm(" nop");}}}实验二用FFT作谱分析一、实验目的1.加深对DFT算法原理和基本性质的理解;2.熟悉FFT算法原理和FFT子程序的应用;3.学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
数字信号处理讲义线性时不变系统的变换分析
数字信号处理讲义线性时不变系统的变换分析1. 数字信号处理概述数字信号处理(Digital Signal Processing,简称DSP)是一种利用计算机对数字信号进行采集、处理和传输的技术。
它在许多领域都有广泛的应用,如通信、音频处理、图像处理、雷达、声纳等。
数字信号处理的核心任务是对离散时间信号进行采样、量化、编码和解码等操作,以实现信号的高效处理和传输。
采样:从连续时间信号中抽取一系列有限长度的样本点。
采样频率是指单位时间内抽取的样本点数,通常用赫兹(Hz)表示。
采样频率越高,还原出的连续时间信号越接近原始信号。
量化:将采样得到的样本值映射到一个固定范围(如8位整数)内的离散值。
量化过程引入了量化误差,但可以通过增加量化比特数来减小误差的影响。
编码:将量化后的离散值编码成二进制数据,以便于存储和传输。
常见的编码方式有频移键控(Frequency Shift Keying, FSK)、相移键控(Phase Shift Keying, PSK)等。
解码:将接收到的二进制数据还原为原始的离散值。
解码过程需要根据预先设定的解码算法进行计算。
数字信号处理技术的发展使得信号处理系统具有更高的实时性、可靠性和灵活性。
现代数字信号处理器(Digital Signal Processor,简称DSP)在性能和功耗方面已经达到了很高的水平,可以满足各种复杂信号处理的需求。
1.1 信号与系统信号是信息的载体,它可以是声音、图像、数据等任何可以传递信息的物理量。
在数字信号处理中,我们通常研究的信号是随时间变化的连续或离散取值序列。
信号可以根据其时间特性分为连续时间信号和离散时间信号,根据取值特性分为模拟信号和数字信号。
系统是由相互关联、相互作用的元素组成的,具有特定功能和行为的整体。
在信号处理中,系统通常指的是对输入信号进行某种处理或转换的装置。
根据系统对输入信号的响应特性,系统可以分为线性系统、非线性系统、时不变系统和时变系统。
数字信号处理实验讲义(电子10)
实验一 离散时间信号与系统一、 实验目的1. 加深对常用离散信号的理解;2. 熟悉连续信号经理想采样前后的频谱变化关系,理解时域采样定理。
3. 掌握序列傅里叶变换的计算机实现方法,熟悉时域离散系统的时域特性。
二、 实验原理1 单位抽样序列1 0()0 0n n n δ==≠⎧⎨⎩2 单位阶跃序列1 0()0 0n u n n ≥⎧=⎨<⎩3 正弦序列()sin(2/)s x n A fn f πϕ=+4 复正弦序列()j n x n Ae ϖ=5 实指数序列 ()n x n Aa =6.采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域特性和频域特性发生的变化以及信号信息不丢失的条件,而且可以加深对傅立业变换、Z 变换和序列傅立业变换之间关系式的理解。
采样原理详见课本。
三、 实验内容1、 产生10点的单位抽样序列δ(n);2、 以上序列右移3位的单位抽样序列δ(n-3); 3、 产生10点的任意序列:f(n)=8δ(n)+7δ(n-1)+6δ(n-2) +5δ(n-3)+ 4δ(n-4)+7δ(n-5);4、产生N =32点的单位阶跃序列;5、产生斜率为3,n0=4,点数为20点的斜坡序列g(n)=B(n-n0);6、产生幅度A=3,频率f =100,初始相位ϕ=1.2,点数为32的正弦序列; 7、产生幅度A=3,角频率ω=314,点数为32点的复正弦序列; 8、产生幅度A=3,a =0.7,点数为32点的实指数序列;9、分析采用不同频率时,对函数50()218.2sin(50)()t a x t e t u t ππ-=的频谱影响。
观测时间Tp=50微秒。
(a ):以1000s f Hz =,对其进行采样得到x1(n)。
(b ):以300s f Hz =,对其进行采样得到x2(n) (c ):以200s f Hz =,对其进行采样得到x3(n)四、 实验报告要求(1)独立完成以上实验内容;(2)采用标准实验报告纸书写实验报告;(3)实验报告内容包括:实验名称、实验目的、实验原理、所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、结果分析(实验中的主要结论及个人实验心得)。
数字信号处理实验讲义
南方医科大学数字信号处理实验讲义林霖杨丰编著生物医学工程学院电子技术系二00七年九月目录实验一信号、系统与系统响应—————————————————————1 实验二离散信号的DTFT和DFT————————————————————7实验三FFT算法的应用———————————————————————13 实验四脉冲响应不变法和双线性变换法设计IIR数字滤波器———————19 实验五用窗函数法设计FIR数字滤波器————————————————26 实验六信号滤波——————————————————————————34 附录二语音信号的基础知识—————————————————————37 附录一 MATLAB简介—————————————————————————40 参考文献—————————————————————————42实验一 信号、系统与系统响应实验一 信号、系统与系统响应一、 实验目的:1. 熟悉数字信号处理中的基本信号,了解信号的时域特性和频域特性,学会利用Matlab仿真软件产生这些基本信号。
2. 掌握离散信号的线性卷积,利用卷积方法观察分析系统的时域特性。
3. 掌握离散LTI 系统特性,观察离散信号通过LTI 系统的输出信号,分析输入信号和输出信号之间的差异,加深LTI 系统对离散信号的影响的认识。
4. 掌握数字滤波器的基本特性,学会根据系统要求设计简单的数字滤波器的方法。
二、 实验原理:1. 信号处理中的基本信号Matlab 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波信号等等。
这些基本信号是信号处理的基础。
1) 单位脉冲序列单位脉冲序列的定义是:10[]00k k k δ=⎧=⎨≠⎩ (1.1)位移了n 个样本点的单位脉冲序列为:1[]0k n k n k n δ=⎧-=⎨≠⎩ (1.2) 2) 单位阶跃序列单位阶跃信号定义是:10[]00k u k k ≥⎧=⎨<⎩ (1.3)3) 矩形序列长度为N 的矩形序列信号是:101[]0N k N R k ≤≤-⎧=⎨⎩其它 (1.4) 4) 指数序列指数序列定义为:[]k x k k Z α=∈ (1.5)数字信号处理实验讲义右边指数序列是:[][]k x k u k k Z α=∈ (1.6)Matlab 在信号产生方面有着非常强大的功能,许多函数都可以用来产生这些基本信号,下面列举一些实验中能用到的Matlab 函数,函数的具体用法参考Matlab 的帮助文件。
数字信号处理实验讲义(修订版)
数字信号处理实验指导书(2009版)宋宇飞编南京工程学院目录实验一信号、系统及系统响应 (1)一、实验目的 (1)二、实验原理与方法 (1)三、实验内容及步骤 (4)四、实验思考 (4)五、参考程序 (4)实验二离散时间傅里叶变换DTFT及IDTFT (9)一、实验目的 (9)二、实验原理与方法 (9)三、实验内容及步骤 (9)四、实验思考 (10)五、参考程序 (10)实验三离散傅里叶变换DFT及IDFT (12)一、实验目的 (12)二、实验原理与方法 (13)三、实验内容及步骤 (14)四、实验思考 (14)五、参考程序 (14)实验四用FFT做频谱分析 (17)一、实验目的 (17)二、实验原理与方法 (17)三、实验内容及步骤 (19)四、实验思考 (20)五、参考程序 (21)实验五用双线性变换法设计IIR数字滤波器 (25)一、实验目的 (25)二、实验原理与方法 (25)三、实验内容及步骤 (27)四、实验思考 (27)五、参考程序 (27)实验六用窗函数法设计FIR数字滤波器 (29)一、实验目的 (29)二、实验原理与方法 (29)三、实验内容及步骤 (33)四、实验思考 (34)五、参考程序 (34)附录一滤波器设计示例 (38)一、Matlab设计IIR基本示例 (38)二、Matlab设计IIR高级示例 (42)附录二部分习题参考答案 (50)习题一(离散信号与系统) (50)习题二(离散傅里叶变换及其快速算法) (51)习题三(IIR滤波器设计) (53)习题四(FIR滤波器) (54)习题五(数字信号处理系统的实现) (56)附录三相关MATLAB习题及答案 (57)第1章离散时间信号与系统 (57)第2章离散傅里叶变换及其快速算法 (60)第3章无限长单位脉冲响应(IIR)滤波器的设计方法 (63)第4章有限长单位脉冲响应(FIR)滤波器的设计方法 (67)第5章数字信号处理系统的实现 (69)第6章多采样率信号处理 (73)实验一 信号、系统及系统响应一、实验目的1、掌握时域离散信号的表示及产生方法;2、掌握时域离散信号简单的基本运算方法;3、掌握离散系统的响应特点。
数字信号处理实验讲义
数字信号处理实验讲义实验一序列、频谱、卷积一、实验目的1.掌握序列的输入方法;2.熟悉不同序列的特征;3.了解确定性信号谱分析的方法;4.验证卷积的计算过程;二、实验要求1.利用matlab程序,生成几种常用的序列,如矩形序列,单位脉冲序列;2.绘制图形,观察序列特征;3.研究其频率特性,绘制图形,观察频率响应特征;4.利用matlab程序,验证卷积的过程;三、实验步骤1.矩形序列(1)生成长度为N的矩形序列,观察并记录生成的图形;n=1:50x=sign(sign(10-n)+1);close all;subplot(3,1,1);stem(x);title('单位矩形信号序列');(2)研究其频率特性,()∑∞-∞=-=n nj Nj en R e H ωω)(,分别研究其幅频特性和相频特性,观察并记录生成的图形;k=-25:25;X=x*(exp(-j*pi/25)).^(n'*k); magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('单位矩形信号的幅度谱'); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title ('单位矩形信号的相位谱')2.单位脉冲序列(1)生成单位脉冲序列,观察并记录生成的图形;n=1:50; %定义序列的长度是50x=zeros(1,50); %注意:MATLAB中数组下标从1开始x(1)=1;close all;subplot(3,1,1);stem(x);title('单位冲击信号序列');(2) 研究其频率特性,()∑∞-∞=-=n nj j en x e H ωω)(,分别研究其幅频特性和相频特性,观察并记录生成的图形;k=-25:25;X=x*(exp(-j*pi/12.5)).^(n'*k); magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('单位冲击信号的幅度谱'); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title ('单位冲击信号的相位谱')3.卷积过程∑∞-∞=-= =mmnhmxnhnxny)()()(*)()(,n=1:50; %定义序列的长度是50hb=zeros(1,50); %注意:MATLAB中数组下标从1开始hb(1)=1;hb(2)=2.5;hb(3)=2.5;hb(4)=1;close all;subplot(3,1,1);stem(hb);title('系统hb[n]');m=1:50; %定义序列的长度是50A=444.128; %设置信号有关的参数a=50*sqrt(2.0)*pi;T=0.001; %采样率w0=50*sqrt(2.0)*pi;x=A*exp(-a*m*T).*sin(w0*m*T);subplot(3,1,2);stem(x);title('输入信号x[n]');y=conv(x,hb);subplot(3,1,3);stem(y);title('输出信号y[n]');四、实验报告要求1.写出生成对应序列的matlab程序,并分析;2.记录生成的图形;3.描述对应的序列和频率特性的特征;4.验证卷积计算结果;五、思考:1.如何生成实指数序列?写出对应的matlab程序a1=2n=1:50x1=(a1.^n)subplot(1,1,1)stem(x1);title('实指数序列')2.编写程序验证卷积定律。
数字信号处理实验课件4
[h,k] = impz(b, a, n):计算n点单位脉冲响应h[k]; 也可简写为:h = impz(b, a, n)。 impz(b, a):绘制单位脉冲响应h[k]的图形。
实验四
离散系统分析
1. 离散系统的时域响应
离散系统响应y[k]的计算
h[k] 2
(1) 计算前40个点的单位脉冲响应N=40; a=[1,0.4,-0.12]; b=[1,2]; y=impz(b,a,N); stem(y) xlabel('k');title('h[k]')
1.5
1
0.5
0
-0.5
-1
0
5
10
15
20 k
25
30
35
40
实验四
离散系统分析
(2) 计算前100个点的零状态响应N=100; b=[1,2]; a=[1,0.4,-0.12]; x=ones(1,N); y=filter(b,a,x)
3.离散系统的频率响应
当离散因果LTI系统的系统函数H(z)的极点全部位于z平 面单位圆内时,系统的频率响应可由H(z)求出,即
H ( e ) H ( z ) z e j H ( e ) e
j
j
j ( )
[H, w]=freqz(b, a, n): 计算系统的n点频率响应H,w为频率点向量。 H=freqz(b, a, w) :计算系统在指定频率点向量w上的频响; freqz(b,a): 绘制频率响应曲线。 其中:b和a分别为系统函数H(z)的分子分母系数矩阵;
(3) 计算前100个时刻的完全响应 filter(b,a,x,zi)中的初始值zi不是y[-1]= 1, y[-2]= 2, 它可以由filtic函数计算。 N=100; b=[1,2]; a=[1,0.4,-0.12]; x=ones(1,N); zi=filtic(b,a,[1,2]); y=filter(b,a,x,zi);
数字信号处理实验讲义2016-9-2
实验一 常见离散信号产生和实现一、实验目的1.加深对常用离散信号的理解;2.掌握matlab 中一些基本函数的建立方法。
二、实验原理1.单位抽样序列如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:2.单位阶跃序列3.正弦序列)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中,n=0:N-1;x=A*sin(2*pi*f 0*n/fs+phi)4.复指数序列n j e r n x ϖ⋅=)(在MATLAB 中,n=0:N-1;x=r*exp(j*w*n)5.指数序列n a n x =)(在MATLAB 中,n=0:N-1;x=a.^n三、实验内容实现和图形生成1.五种基本函数的生成程序如下:(1)单位抽样序列方法一:% 单位抽样序列和延时的单位抽样序列n=0:10; x1=[1 zeros(1,10)];x2=[zeros(1,5) 1 zeros(1,5)];subplot(1,2,1);stem(n,x1,'.');xlabel ('时间序列n');ylabel('振幅');title('单位抽样序列x1');grid on;subplot(1,2,2);stem(n,x2,'.'); xlabel('时间序列n');ylabel('振幅');title('延时了5的单位抽样序列'); grid on;方法二:先在matlab中定义单位抽样序列:function [x,n]=impseq(n1,n2,n0)n=[n1:n2];x=[(n-n0)==0]; /n等于n0时1在运行命令:[x,n]=impseq(-5,5,3)stem(n,x,'.');xlabel('n');title('单位抽样序列x');grid(2)单位阶跃序列方法一:n=-4:6;u=[zeros(1,4) ones(1,7)];stem(n,u,'.');xlabel ('时间序列n');ylabel('振幅');title('单位阶跃序列');grid 所得的图形如下所示:方法二;先在matlab中定义单位阶跃序列:function [x,n]=stepseq(n1,n2,n0)n=[n1:n2];x=[(n-n0)>=0];在运行命令:[x,n]=stepseq(-5,5,3)stem(n,x,'.');xlabel('n');title('单位阶跃序列x');grid(3)正弦函数n=-5:20;x=2*sin(pi*n/6+pi/3); stem(n,x,'.'); xlabel ('时间序列n'); ylabel('振幅'); title('正弦函数序列x=2*sin(pi*n/6+pi/3)');grid on(4)复指数序列n=-5:30;x=2*exp(j*3*n);stem(n,real(x),'.'); xlabel ('时间序列n');ylabel('振幅');title('复指数序列x=2*exp(j*3*n)的实部');grid on图形如下:(5)指数序列n=1:30;x=1.2.^n;stem(n,x,'.'); xlabel ('时间序列n');ylabel('振幅');title('指数序列x=1.2.^n'); grid on2、绘出信号sn e n x =)(,当6121πj s +-=、6121πj s +=、121=s 、62πj s +=、6πj s =时的信号实部和虚部图;程序如下:s1=-1/12+j*pi/6;s2=1/12+j*pi/6;s3=1/12;s4=2+j*pi/6;s5=j*pi/6;n=0:20;x1=exp(s1*n);x2=exp(s2*n); x3=exp(s3*n);x4=exp(s4*n); x5=exp(s5*n);subplot(5,2,1);stem(n,real(x1),'.'); xlabel ('时间序列n');ylabel('实部'); title('复指数s1=-1/12+j*pi/6时序列实部');grid onsubplot(5,2,2);stem(n,imag(x1),'.'); xlabel ('时间序列n');ylabel('虚部'); title('复指数s1=-1/12+j*pi/6时序列虚部');grid onsubplot(5,2,3);stem(n,real(x2),'.'); xlabel ('时间序列n');ylabel('实部'); title('复指数s2=1/12+j*pi/6时序列实部');grid onsubplot(5,2,4);stem(n,imag(x2),'.'); xlabel ('时间序列n');ylabel('虚部'); title('复指数s2=1/12+j*pi/6时序列虚部');grid onsubplot(5,2,5);stem(n,real(x3),'.'); xlabel ('时间序列n');ylabel('实部');title('复指数s3=1/12时序列实部');grid onsubplot(5,2,6);stem(n,imag(x3),'.'); xlabel ('时间序列n');ylabel('虚部');title('复指数s3=1/12时序列虚部');grid onsubplot(5,2,7);stem(n,real(x4),'.'); xlabel ('时间序列n');ylabel('实部');title('复指数s4=2+j*pi/6时序列实部');grid onsubplot(5,2,8);stem(n,imag(x4),'.'); xlabel ('时间序列n');ylabel('虚部');title('复指数s4=2+j*pi/6时序列虚部');grid onsubplot(5,2,9);stem(n,real(x5),'.'); xlabel ('时间序列n');ylabel('实部');title('复指数s5=j*pi/6时序列实部');grid onsubplot(5,2,10);stem(n,imag(x5),'.'); xlabel ('时间序列n');ylabel('虚部'); title('复指数s5=j*pi/6时序列虚部');grid on由图的实部部分可以看出,s=j*pi/6时,序列周期为12。
赵雪英10版《数字信号处理》实验讲义
《数字信号处理》实验讲义信息学院赵雪英2013.1前言数字信号处理是利用计算机或专用数字处理设备,采用数值计算的方法对信号进行处理的一门学科,它包括数据采集,变换、分析、综合、滤波、估值与识别等加工处理,以便于提取信息和应用。
数字信号处理的主要优点有:(1)灵活性好。
适合用计算机、可编程器件(如通用单片机、DSP、可编程逻辑器件等)实现,通过编程很容易改变数字信号处理系统得参数,从而使系统实现各种不同的处理功能。
如数字电话系统中采用的时分复用技术。
(2)稳定可靠。
(3)处理精度高。
(4)便于加解密。
(5)便于大规模集成化、小型化。
(6)便于自动化、多功能化。
(7)可实现模拟系统无法实现的复杂处理功能。
数字信号处理原理、实现和应用是本学科研究和发展的三个主要方面。
数字信号处理应用非常广泛,涉及语音、雷达、声呐、地震、图像处理、通信系统、系统控制、生物医学工程、机械振动、遥感遥测、航空航天、电力系统、故障检测和自动化仪表等领域。
MATLAB是美国MathWorks公司开发的一种功能极其强大的高技术计算语言和内容极其丰富的软件库。
其中的信号处理工具箱是一个内容丰富的信号处理软件库,是学习、应用数字信号处理的一个极好工具。
在学习数字信号处理理论的同时,熟练掌握MATLAB的使用,对理工科的学生是非常必要的。
目录实验一时域离散信号和系统 (4)实验二时域离散信号和系统的频域分析 (6)实验三离散傅里叶变换及其快速算法 (8)实验四特殊滤波器 (9)实验五IIR数字滤波器设计 (10)实验六FIR数字滤波器设计 (12)实验七综合实验-数字滤波器设计 (14)实验八时域离散系统的实现 (15)实验一 时域离散信号和系统一、实验目的(一)常用时域离散信号的MATLAB 表示 (二)应用MATLAB 求线性卷积 (三)应用MATLAB 求解差分方程 二、实验内容(一)常用时域离散信号的MATLAB 表示用两个参数向量x 和n 表示有限长序列x(n),x 是x(n)的样值向量,n 是位置向量; n 与x 长度相等。
数字信号处理实验
数字信号处理实验数字信号处理实验讲义前⾔ (2)实验⼀MATLAB简介 (3)实验⼆⽤FFT实现信号的谱分析 (5)实验三IIR数字巴特沃思滤波器的设计 (8)实验四FIR数字滤波器的设计 (9)前⾔信号处理与计算机的应⽤紧密结合。
⽬前⼴泛应⽤的MA TLAB⼯具软件包,以其强⼤的分析、开发及扩展功能为信号处理提供了强有⼒的⽀持。
在数字信号处理实验中,我们主要应⽤MA TLAB的信号处理⼯具箱及其灵活、便捷的编程⼯具,通过上机实验,帮助学⽣学习、掌握和应⽤MA TLAB软件对信号处理所学的内容加以分析、计算,加深对信号处理基本算法的理解。
实验⼀ MATLAB 简介实验⽬的1.熟悉MATLAB 软件的使⽤⽅法; 2.MA TLAB 的绘图功能;3.⽤MA TLAB 语句实现信号的描述及变换。
实验原理1.在MA TLAB 下编辑和运⾏程序在MA TLAB 中,对于简单问题可以在命令窗(command windows )直接输⼊命令,得到结果;对于⽐较复杂的问题则可以将多个命令放在⼀个脚本⽂件中,这个脚本⽂件是以m 为扩展名的,所以称之为M ⽂件。
⽤M ⽂件进⾏程序的编辑和运⾏步骤如下:(1)打开MA TLAB ,进⼊其基本界⾯;(2)在菜单栏的File 项中选择新建⼀个M ⽂件;(3)在M ⽂件编辑窗⼝编写程序;(4)完成之后,可以在编辑窗⼝利⽤Debug ⼯具调试运⾏程序,在命令窗⼝查看输出结果;也可以将此⽂件保存在某个⽬录中,在MATLAB 的基本窗⼝中的File 项中选择Run The Script ,然后选择你所要运⾏的脚本⽂件及其路径,即可得出结果;也可以将此⽂件保存在当前⽬录中,在MA TLAB 命令窗⼝,“>>”提⽰符后直接输⼊⽂件名。
2.MA TLAB 的绘图功能plot(x,y) 基本绘图函数,绘制 x 和y 之间的坐标图。
figure(n ) 开设⼀个图形窗⼝nsubplot(m,n,N) 分割图形窗⼝的MATLAB 函数,⽤于在⼀个窗⼝中显⽰多个图形,将图形窗⼝分为m ⾏n 列,在第N 个窗⼝内绘制图形。
数字信号处理实验讲义
实验一 连续时间信号的时域取样与重建实验目的:1、 掌握连续时间信号的离散化过程,深刻理解时域取样定理;2、 掌握由取样序列恢复原连续信号的基本原理与实现方法。
实验原理:取样解决的是把连续信号变成适于计算机处理的离散信号的问题。
取样就是从连续信号)(t f 中取得一系列的离散样点值。
1、理想取样设待取样信号为)(t x ,理想取样表示成:)()()(t t x t x T s δ=,其中 ∑-=nT nT t t )()(δδ。
T 为取样周期(间隔),T x s /1=为取样频率,T s /2πω=为取样角频率。
由傅里叶变换频域卷积定理,得取样信号的频谱)(ωj X s :∑-=ns s n j X T j X ))((1)(ωωω。
取样定理给出了取样信号包含原连续信号的全部信息的最大取样间隔。
时域取样定理的内容是:若带限信号)(t f 的最高角频率为m ω,其频谱函数在m ωω>||各处为零;对该信号以m f T 21≤的取样间隔(即取样频率为m s f f 2≥)进行等间隔取样时,则信号)(t f 可以由取样点值唯一地恢复。
其中πω2)(m m HZ f =。
在实际取样时,关键是确定信号的最高频率。
如果信号频率很宽或无限宽,无法满足取样定理,会引起频谱混叠误差,可以通过提高取样率减少误差。
例:对信号)*2*20cos()*2*10cos()(t t t x ππ+=进行取样。
解:信号最高频率为20HZ 取样频率为80HZ Fs=80;%sampling frequencyt=0:1/Fs:1;%one second worth of samples xn=cos(2*pi*10*t)+cos(2*pi*20*t);2、信号的重建当以满足取样定理的速率对信号)(t x 取样后,由取样信号)(t x s 恢复原信号)(t x 的过程称为重建。
用一个截止频率为2s c ωω=的理想低通滤波器对)(t x s 进行滤波,就能从)(t x s 中将原信号)(t x 恢复。
数字信号处理实验讲义-长师
前言数字信号处理的理论和技术一出现就受到人们的极大关注,发展非常迅速。
20世纪60年代以来,随着信息科学和计算技术的迅速发展,数字信号处理的理论与应用飞跃发展,它的重要性日益在通信、信息技术、图像处理、遥感、声呐、雷达、生物医学、地震、语音处理等领域的应用中表现出来,并发展成为一门极其重要的学科。
数字信号处理是一门理论与实践紧密联系的课程,适当的上机实验有助于深入理解和巩固难基本理论知识,锻炼初学者用计算机和MA TLAB语言及其工具箱函数解决数字处理算法的仿真和滤波器设计问题的能力。
由于信号处理涉及大量的运算,可以说离开了计算机及相应的软件,就不可能解决任何稍微复杂的实际应用问题。
Matlab是1984年美国MathWorks公司的产品,MATLAB语言具备高效、可视化及推理能力强等特点,它的推出得到了各个领域专家学者的广泛关注,其强大的扩展功能为各个领域的应用提供了基础,是目前工程界流行最广的科学计算语言。
早在20世纪90年代中期,MATLAB就己成为国际公认的信号处理的标准软件和开发平台。
从1996年后,美国新出版的信号处理教材就没有一本是不用MA TLAB的。
本学期实验结合数字信号处理的基本理论和基本内容,设计了五个上机实验,每个实验对应一至两个主题内容。
包括常见离散信号的MA TLAB产生和图形显示、离散时间信号的Z变换、快速傅立叶变换FFT 及其应用、数字滤波器的MATLAB实现、用窗函数法设计FIR数字滤波器。
每个实验中均给出了实验方法和步骤,及部分的MATLAB程序,此外,还有习题和上机实验。
通过实验可以使学生掌握数字信号处理的基本原理和方法。
用科学计算语言MATLAB实现数字信号处理的方法和实践,通过实验用所学理论来分析解释程序的运行结果,进一步验证、理解和巩固学到的理论知识,从而达到掌握数字信号处理的基本原理和方法的目的。
实验一 常见离散信号的MATLAB 产生和图形显示一、实验目的1、学会用MA TLAB 在时域中产生一些基本的离散时间信号。
数字信号处理实验讲义
实验一 离散信号与系统S1 信号、系统及系统响应 1、实验目的(1)掌握几种基本典型数字信号在Matlab 中的实现。
(2)掌握序列的基本操作。
(3)熟悉时域离散系统的基本特征。
(4)利用卷积求线性时不变系统的输出序列。
2、实验器材PC 机;MATLAB 语言环境3、实验原理在数字信号处理中,所有的信号都是离散(时间)信号,数字信号是通过对模拟信号进行取样得到的。
图1-1是模拟信号数字化处理的简化框图。
模拟信号先转换成数字信号,经过一定的处理之后,再还原成模拟信号输出。
图1-1对模拟信号x(t)进行采样得到的信号为()t x a ^,其中:()()()t p t x t x a a =^;()()∑∞-∞=-=m nT t t p δ令:()()⎥⎦⎤⎢⎣⎡=Ω^^t x FT j X a a ;()()[]t x FT j X a a =Ω采样定理——采样与重构(1)对连续信号进行等间隔采用形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期延拓形成的,满足公式(1-1):()()s k a a jk j X T j X Ω-Ω=Ω∑∞-∞=1^(1-1)(2)设连续信号()t x a 为带限信号,其最高截止频率为c Ω,如果采样角频率c s Ω≥Ω2,那么让采样信号()t x a ^通过一个增益为T ,截止频率为2sΩ的理想低通滤波器,可以唯一的恢复出连续信号()t x a ,否则将发生频谱混叠,导致信号失真。
在线性时不变系统中,若系统的输入为x(n),系统的单位脉冲响应为h(n),则系统的输出为:∑∞-∞=-=*=m m n h m x n h n x n y )()()()()(;其对应的频域特性为:()()()jwjwjwe H e X e Y =。
为了在数字计算机上观察分析各种序列的频域特性,通常对()jwe X 在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n),有:()()∑-=-=10N n njw jwkk em x eX ,其中kM w k π2=,k=0,1,…,M-1通常M 应取大一些,以便观察谱的细节变化。
数字信号处理实验讲义
实验一:用FFT 对信号作频谱分析(2学时)1.实验目的学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析 误差及其原因,以便正确应用FFT 。
2. 实验原理用FFT 对信号作频谱分析是学习数字信号处理的重要内容。
经常需要进行谱分析的信号是模拟信号和时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。
频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是N /2π,因此要求D N ≤/2π。
可以根据此式选择FFT 的变换区间N 。
误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时离散谱的包络才能逼近于连续谱,因此N 要适当选择大一些。
周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT ,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
3.实验步骤及内容(1)对以下序列进行谱分析。
⎪⎩⎪⎨⎧≤≤-≤≤-=⎪⎩⎪⎨⎧≤≤-≤≤+==其它nn n n n n x 其它n n n n n n x n R n x ,074,330,4)(,074,830,1)()()(3241 选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(2)对以下周期序列进行谱分析。
4()cos 4x n n π=5()cos(/4)cos(/8)x n n n ππ=+选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线。
并进行对比、分析和讨论。
(3)对模拟周期信号进行谱分析6()cos8cos16cos20x t t t t πππ=++选择 采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。
(印刷)数字信号处理实验讲义
实验一线性卷积与圆周卷积一.实验目的理解离散序列的线性卷积与圆周卷积的原理,比较其相同和不同点,掌握线性卷积与圆周卷积的计算步骤和计算方法,能熟练使用Matlab的相关命令。
二.相关知识1.线形卷积:设两序列为x(n)和h(n),则x(n)和h(n)的线形卷积和定义为∑∞∞-= -=mnhnxmnhmxny)(*)()()()((1)卷积和的运算在图形表示上可分为四步:翻褶,移位,相乘,相加(1)翻褶:先在哑变量坐标m上作出x(m)和h(m),将h(m)以m=0的垂直轴为对称轴翻褶成h(-m)。
(2)移位:将h(-m)移位,即得h(n-m)。
当n为正整数时,右移n位。
当为负整数时,左移n位。
(3)相乘:再将h(n-m)和x(m)的相同m值的对应点值相乘。
(4)相加:把以上所有对应点的乘积叠加起来,即得y(n)值。
注意:对于得到结果的仍然是一个序列,若x(n)的长度是N,h(n)的长度是M,则y(n)的长度是N+M-1。
2.圆周卷积:设两序列为x(n)和h(n),则x(n)和h(n)的圆周卷积和定义为1010()()()[()(())]()[()(())]()N N N m N N N m y n x n h n x m h n m R n h m x n m R n -=-==⊗=-=-∑∑ (2)圆周卷积过程:1)补零:若x(n)的长度是N ,h(n)的长度是M ,取max(,)H N M ≥,对序列补零至H 点。
2)周期延拓:先在哑变量坐标m 上作出x(m)和h(m),将h(m)周期延拓。
3)翻褶,取主值序列:对h(m)以 m=0的垂直轴为对称轴翻褶成h (-m),然后取主值序列。
4)圆周移位:对得到的序列进行圆周移位。
5)相乘相加:与x(m)对应项相乘,并累加,得到y(n)1()x n 2()x n2((0))(N N x m R m -1112((1))(N N x mR m -1N -11()(y n x n -1N -22(n3.线形卷积与圆周卷积的关系:为何要探讨线形卷积与圆周卷积的关系?时域圆周卷积在频域上相当于两序列的DFT 的相乘,因而可以采用DFT 的快速算法——快速傅立叶变换(FFT )算法,它于线性卷积相比,计算速度可以大大加快。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验讲义电气与自动化工程学院DSP实验室2006年前言 (1)实验一MATLAB简介 (2)实验二用FFT实现信号的谱分析 (4)实验三IIR数字巴特沃思滤波器的设计 (8)实验四FIR数字滤波器的设计10前言信号处理与计算机的应用紧密结合。
目前广泛应用的MATLAB 工具软件包,以其强大的分析、开发及扩展功能为信号处理提供了强有力的支持。
在数字信号处理实验中,我们主要应用MATLAB的信号处理工具箱及其灵活、便捷的编程工具,通过上机实验,帮助学生学习、掌握和应用MATLAB软件对信号处理所学的内容加以分析、计算,加深对信号处理基本算法的理解。
实验一MATLAB简介实验目的1.熟悉MATLAB软件的使用方法;2.MATLAB的绘图功能;3.用MATLAB语句实现信号的描述及变换。
实验原理1.在MATLAB下编辑和运行程序在MATLAB中,对于简单问题可以在命令窗(command windows)直接输入命令,得到结果;对于比较复杂的问题则可以将多个命令放在一个脚本文件中,这个脚本文件是以m为扩展名的,所以称之为M文件。
用M文件进行程序的编辑和运行步骤如下:(1)打开MATLAB,进入其基本界面;(2)在菜单栏的File项中选择新建一个M文件;(3)在M文件编辑窗口编写程序;(4)完成之后,可以在编辑窗口利用Debug工具调试运行程序,在命令窗口查看输出结果;也可以将此文件保存在某个目录中,在MATLAB的基本窗口中的File项中选择Run The Script,然后选择你所要运行的脚本文件及其路径,即可得出结果;也可以将此文件保存在当前目录中,在MATLAB命令窗口,“>>”提示符后直接输入文件名。
2.MATLAB 的绘图功能plot(x,y) 基本绘图函数,绘制 x 和y 之间的坐标图。
figure(n ) 开设一个图形窗口nsubplot(m,n,N) 分割图形窗口的MATLAB 函数,用于在一个窗口中显示多个图形,将图形窗口分为m 行n 列,在第N 个窗口内绘制图形。
axis([a0,b0,a1,b1] ) 调整坐标轴状态title(‘ ’) 给图形加题注xlabel (‘ ‘) 给x 轴加标注ylabel (‘ ‘) 给y 轴加标注grid 给图形加网格线3.信号描述及变换信号描述及变换包括连续时间信号和离散时间信号内容,详细内容请见课本第1章、第2章。
实验内容1.上机运行教材1.6节、2.7节部分例题程序。
2.试用MATLAB 绘制出下列信号的波形:(1)t e t x 5.11)(-=; (2))5.0sin(3)(2t t x π= (3))sgn(5.05.0)(3t t x +=; (4) )2(2)1()()(4---+=t u t u t u t x ;(5) 5()[()(4)]2t x t u t u t =-- 3. 已知连续时间信号)]4()()[4()(1---=t u t u t t x ,)()(22t u e t x t -=,)2sin()(3t t x π=试用MATLAB 绘制出下列信号的波形:(1))2/()(14t x t x =; (2))2()(45-=t x t x ; (3))()(26t x t x -=; (4))()()(627t x t x t x +=; (5))()()(378t x t x t x ⋅=。
4.列出单位冲激信号、单位阶跃信号、正弦信号的MATLAB表达式,并绘出信号波形。
实验报告要求:1.上机调试编写的程序,给出运行结果并分析。
2.使用学校统一印制的报告纸,可附加代码或图形的打印稿。
3.代码或图形不得相互复制,复印。
4.实验成绩根据出勤情况和实验报告的原创性及创新性评定。
实验二 用FFT 实现信号的谱分析实验目的1.了解FFT 在信号谱分析中的作用; 2.了解谱分析的一般步骤和方法。
实验原理关于信号谱分析的步骤和方法参见教材第3章相关内容。
为了解信号的特点,了解信号频谱分布情况,应该对信号进行谱分析,计算出信号的幅度谱、相位谱和功率谱。
信号的谱分析可以用FFT 实现,讨论如下:1. 谱分析中的参数选择;A 若已知信号的最高频率c f ,为防止混叠,选定采样频率s f : c s f f 2≥(1) B 根据实际需要,选定频率分辨f ∆,一但选定后,即可确定FFT所需的点数Nf f N s ∆=/(2) 我们希望f ∆越小越好,但f ∆越小,N 越大,计算量、存储量也随之增大。
一般取N 为2的整次幂,以便用FFT 计算,若已给定N ,可用补零方法便N 为2的整次幂。
C s f 和N 确定后,即可确定所需相应模拟信号)(t x 的长度s s NT f N T ==/ (3)分辨率f ∆反比于T ,而不是N ,在给定的T 的情况下,靠减小s T 来增加N 是不能提高分辨率的,因为s NT T =为常数2.谱分析步骤;A 数据准备()()()a a t nT x n x t x nT ===(4)B 使用FFT 计算信号的频谱10()()N kn N n X k x n W -==∑(5)()()()r i X k X k jX k =+(6)C 由频谱计算幅度谱()X k 、相位谱k θ和功率谱()G k()X k =(7)()arctan()i k r X k X k θ= (8)222()()()()r i G k X k X k X k ==+(9)3.实验中用到的一些基本函数简介y=fft(x,n) ;计算n点的FFT。
abs(x) ;取绝对值。
angle(z) ;取相角。
[Pxx, f]= periodogram (xn, nfft, fs, window) ;%周期图谱估计[Pxx, f]=pwelch (xn, nfft, fs, window, noverlap);%平均周期图法Pxx=psd (xn) ;功率谱密度实验内容1. 已知序列x(n)=2sin(0.48πn)+cos(0.52πn) 0≤n<100,试绘制x(n)及它的频谱图。
clear allN=100;n=0:N-1;xn=2*sin(0.48*pi*n)+cos(0.52*pi*n);XK=fft(xn,N);magXK=abs(XK);phaXK=angle(XK);subplot(1,2,1)plot(n,xn)xlabel('n');ylabel('x(n)');title('x(n)N=100');subplot(1,2,2)k=0:length(magXK)-1;stem(k,magXK,'.');xlabel('k');ylabel('|X(K)|');title('X(K)N=100');若x(n)=sin(0.56πn)+2cos(0.25πn),结果又如何?2. 对下面信号进行频谱分析,求幅度谱)(k X 和相位谱)(k θ。
(1)t a t x =)(1,8.0=a ,ms t 40≤≤,Hz f 400m ax =(2)t t t x /sin )(2=,s T 125.0=,16=N3. 给定信号)2sin(2)2sin()(21t f t f t x ππ+=,Hz f 151=,Hz f 181=,现在对)(t x 采样,采样点数16=N ,采样频率s f =50Hz ,设采样序列为)(n x ,编写程序计算)(n x 的频谱,并绘图;改变采样频率,得到序列)(1n x ,计算)(1n x 的频谱,并绘图;增大采样点数,得到序列)(2n x ,计算)(2n x 的频谱,并绘图;采样点数N=64,采样频率s f =300Hz ,在采样点后补零得到新序列)(3n x ,计算)(3n x 的频谱,并绘图。
4. 试求下列差分方程所描述的输出序列)n (x 的功率谱并作图。
(a))n (w )n (w )n (x .)n (x 12810--+--=(b))n (w )n (w )n (x 2--=(c))n (w )n (x .)n (x +--=2810式中,)n (w 是方差为2w σ(例如,2w σ=1/12)的白噪声。
5. 一序列)n (x 是由两个频率相距为f ∆的模拟信号采样得来的,即n )f .(cos n ).(sin )n (x ∆ππ++=1350213502 n=0,1,…,15已知序列长度N=16,试采用周期图法,应用DFT 分别计算当f ∆=0.06及f ∆=0.01时的功率谱估计,并通过作图说明从功率谱估计的分布是否能分辨出这两个正弦信号的真实频谱?若N=64又有什么变化?6. 用MATLAB 产生256点白噪声序列,应用Welch 法估计其功率谱,每段长64点,重叠32点,输出平均后的功率谱图以及对256点一次求周期图的功率谱图。
7. 离散信号序列)/2sin(2)(s f fn n x π=,长度N=512,Hz f s 32=,令f 取值分别为16Hz 和15Hz ,计算序列的功率谱,比较谱图的差别。
试采用不同的窗函数,再比较谱图的变化。
8. 已知一个被白噪声)(t r 污染的信号)(t x ,)()2sin(5.0)2sin(5.0)2sin(2)(321t r t f t f t f t x +++=πππ,其中,1f =25Hz ,2f =75Hz ,3f =150Hz 。
应用Welch 法进行功率谱估计并绘制功率谱图。
实验三 IIR 数字巴特沃思滤波器的设计实验目的1.掌握用模拟滤波器原型设计IIR 滤波器的基本方法; 2.掌握数字巴特沃思滤波器的设计方法与步骤; 3. 理解系统频率响应的概念,学习编写计算系统频率响应的方法。
实验原理1.数字巴特沃思滤波器设计的详细内容见教材第4章,现将设计步骤归纳如下:A 根据给定的频带指标,由双线性变换的频率关系,确定相应的模拟滤波器原型频带指标;B 利用原型低通滤波器,选择合适的参数,设计出符合指标的模拟低通滤波器;C 利用双线性变换,将所获得的模拟滤波器的s 域表示转换为相应数字滤波器的z 域表示,即它的系统函数,再利用IIR 滤波器设计方案具体实现该滤波器。
2. 实验中用到的一些基本函数见教材第4.5.1节(与IIR 数字滤波器设计相关MATLAB 函数)。
实验内容1. 希望设计一个巴特沃斯低通数字滤波器,其3dB 带宽为0.2π,阻带边缘频率为0.5π,阻带衰减大于30dB 。
给定采样间隔s T s μ10=。
用双线性变换法设计该低通数字滤波器。