实验2 数字信号处理的基本作图工具
MATLAB 数字信号处理 实验指导.1

武昌理工学院信息工程学院《数字信号处理》实验指导书————MATLAB实验二零一六年九月二十八日目录目录 ............................................................................................................................................. - 2 - MATLAB简介................................................................................................................................. - 3 -一、MATLAB初步 ........................................................................................................... - 3 -1. MATLAB的主要功能 ........................................................................................... - 3 -2.启动MATLAB及界面简介 ................................................................................ - 3 -3. MATLAB的常用命令 ........................................................................................... - 4 -4.基本运算................................................................................................................ - 5 -5.退出........................................................................................................................ - 6 -二、变量与函数、语句、矩阵及其运算.......................................................................... - 6 -1.变量与函数............................................................................................................ - 6 -2.语句与M文件...................................................................................................... - 6 -3.矩阵及其运算........................................................................................................ - 7 -三、MATLAB 支持的数据结构 ...................................................................................... - 8 -四、MATLAB绘图 ........................................................................................................... - 9 -1、绘制二维图形........................................................................................................ - 9 -2、绘制三维图形...................................................................................................... - 10 -五、MATLAB编程 ......................................................................................................... - 11 -1、关系运算和逻辑运算.......................................................................................... - 11 -2、控制语句.............................................................................................................. - 11 -3、函数编写方法与应用.......................................................................................... - 13 - 《数字信号处理》的MATLAB实验.......................................................................................... - 14 - 实验一MATLAB基础入门练习 ................................................................................. - 14 - 实验二离散时间信号分析............................................................................................ - 16 - 实验三离散时间系统及响应........................................................................................ - 18 - 实验四离散傅立叶变换及性质.................................................................................... - 20 - 实验五用FFT和CZT对信号进行频谱分析............................................................ - 21 - 实验六IIR数字滤波器设计与信号滤波..................................................................... - 24 - 实验七用窗函数法设计FIR滤波器........................................................................... - 27 - 实验报告格式............................................................................................................................ - 30 -MATLAB简介MATLAB是MATrix LABoratory的缩写。
数字信号处理(00002)

数字信号处理实验报告实验一1.分析并绘出常用函数(a) 锯齿波;(b) 三角波;(c) 方波;(d) 抽样函数的时域特性波形.程序:clear allª¤t=0:0.0001:0.1;x1=sawtooth(2*pi*50*t); %产生五个周期锯齿波subplot(221)plot(t,x1)title('锯齿波110900623')xlabel('t')x2=sawtooth(2*pi*50*t,0.5); %产生五个周期三角波subplot(222)plot(t,x2)xlabel('t')title('三角波110900623')x3=square(2*pi*50*t); %产生十个周期方波subplot(223)plot(t,x3)xlabel('t')title('方波110900623')axis([0,0.1,-1.2,1.2])t=-4:0.1:4;x4=sinc(t); %产生抽样信号subplot(224)plot(t,x4)xlabel('t')axis([-5,5,-0.5,0.5])title('抽样信号110900623')-1-0.500.51锯齿波110900623t-1-0.500.51t三角波110900623-1-0.500.51t方波110900623-0.50.5t抽样信号1109006232.分析并绘出常用窗函数时域特性波形. clear ally1=boxcar(80); %矩形窗 plot(y1,'k') axis([-1,81,-0.2,1.2]) gtxst(‘矩形窗’) hold ony2=triang(80); %三角窗 plot(y2,'m.') hold ony3=hanning(80); %汉宁窗 plot(y3,'y*') gtxst(‘汉宁窗’)hold ony4=hamming(80); %海明窗 plot(y4,'r-') gtxst(‘海明窗’) hold ony5=blackman(80); %布莱克曼窗 plot(y5,'g:') gtxst(‘布莱克曼窗’) hold ony6=kaiser(80,7.865);%凯塞-贝尔窗 plot(y6,'b-.') gtxst(‘凯塞-贝尔窗’) title('常用窗函数110900623')01020304050607080-0.20.20.40.60.81矩形窗三角窗汉宁窗海明窗布莱克曼窗凯塞-贝尔窗常用窗函数110900623实验二内容:1.计算序列x(n)=[1,2,3,4,5],与序列h(n)=[2,-2,3,5]的线性卷积和6点、8点和10点圆周卷积.xn=[1,2,3,4,5];hn=[2,-2,3,5];yln=conv(xn,hn);ycn1=circonv2(xn,hn,6);ycn2=circonv2(xn,hn,8);ycn3=circonv2(xn,hn,10);ny0=[0:1:length(yln)-1];ny1=[0:1:length(ycn1)-1];ny2=[0:1:length(ycn2)-1];ny3=[0:1:length(ycn3)-1];subplot(2,2,1);stem(ny0,yln)ylabel('线性卷积')subplot(2,2,2);stem(ny1,ycn1);ylabel('圆周卷积6')subplot(2,2,3);stem(ny2,ycn2)ylabel('圆周卷积8')subplot(2,2,4);stem(ny3,ycn3)ylabel('圆周卷积10')axis([0,10,0,40]);function yc=circonv2(x1,x2,N) %子程序1if length(x1)>Nerror('N must not be less than length of x1'); endif length(x2)>Nerror('N must not be less than length of x2'); endx1=[x1,zeros(1,N-length(x1))];x2=[x2,zeros(1,N-length(x2))];n=[0:1:N-1];x2=x2(mod(-n,N)+1);H=zeros(N,N);for n=1:1:NH(n,:)=cirshiftd(x2,n-1,N);endyc=x1*H';function y=cirshiftd(x,m,N) %子程序2if length(x)>Nerror('the length of x must be less than N'); endx=[x,zeros(1,N-length(x))];n=[0:1:N-1];y=x(mod(n-m,N)+1);010203040线性卷积110900623010203040圆周卷积6110900623010203040圆周卷积8110900623510010203040圆周卷积101109006232.某序列为使用FFT 函数分析其频谱.利用不同宽度N 的矩形窗截短该序列,N 分别为20,40,160,观察不同长度N 的窗对谱分析结果的影响. clear all N=20; n=0:N-1;xn=0.5*cos(11*pi*n/20)+cos(9*pi*n/20); XK=fft(xn,N); magXK=abs(XK); phaXK=angle(XK); subplot(3,2,1)119()0.5cos cos 2020x n n n ππ⎛⎫⎛⎫=+ ⎪ ⎪⎝⎭⎝⎭plot(n,xn)xlabel('n');ylabel('x(n)');title('x(n)时域N=20');subplot(3,2,2)k=0:length(magXK)-1;stem(k,magXK,'g.');xlabel('k');ylabel('|X(k)|');title('X(k) N=20');hold onN=40;n=0:N-1;xn=0.5*cos(11*pi*n/20)+cos(9*pi*n/20); XK=fft(xn,N);magXK=abs(XK);phaXK=angle(XK);subplot(3,2,3)plot(n,xn)xlabel('n');ylabel('x(n)');title('x(n)时域N=40');subplot(3,2,4)k=0:length(magXK)-1;stem(k,magXK,'m.');xlabel('k');ylabel('|X(k)|');title('X(k) N=40');hold onN=160;n=0:N-1;xn=0.5*cos(11*pi*n/20)+cos(9*pi*n/20); XK=fft(xn,N);magXK=abs(XK);phaXK=angle(XK);subplot(3,2,5)plot(n,xn)xlabel('n');ylabel('x(n)');title('x(n)时域N=160');subplot(3,2,6)k=0:length(magXK)-1;stem(k,magXK,'b.');xlabel('k');ylabel('|X(k)|');title('X(k) N=160');-202nx (n )x(n)时域 N=20k|X (k )|X (k) N=20-202nx (n )x(n)时域 N=40k|X (k )|X (k) N=40-202nx (n )x(n)时域 N=160k|X (k )|X (k) N=160实验三:1.用巴特沃斯滤波器设计一个数字低通滤波器,要求在0-0.2π内衰耗不大于3dB,在0.6 π –π内衰耗不小于60dB ,采样频率Fs=500 Hz. wp=500*0.2*pi; ws=500*0.6*pi; Rp=3; Rs=60; Fs=500; Ts=1/Fs; %参数设计[N,Wn]=buttord(wp,ws,Rp,Rs,'s'); %?模拟巴特沃斯低通滤波器 [Z,P,K]=buttap(N);%°把滤波器零极点模型转化为传递函数模型[Bap,Aap]=zp2tf(Z,P,K);%°把模拟滤波器原型转化为截止频率为wn 的低通滤波器[b,a]=lp2lp(Bap,Aap,Wn);%双线性变换法实现模拟滤波器到数字滤波器转换[bz,az]=bilinear(b,a,Fs);%绘制频率响应图[H,W]=freqz(bz,az);plot(W*Fs/(2*pi),abs(H));gridxlabel('频率/Hz')ylabel('频率响应幅度')title('110900623') 00.20.40.60.811.21.4频率/Hz 频率响应幅度1109006232.分别使用矩形窗和海明窗函数设计一个线性,()0,j cd ce H ωτωωωωωπ-⎧≤⎪=⎨<≤⎪⎩相位FIR低通滤波器,其逼近理想低通滤波器的频率特性.其中ωc=1rad,τ=12s。
数字信号处理实验2

离散系统的频域响应
一 实验目的
• 1,加深对离散系统频域响应特性的理解; 2,掌握MATLAB进行离散系统频域分析常用 的子函数和求解方法.
二, 实验内容
• 研究离散系统的零极点与频率特性之间的 关系。
三,实验原理与方法和手段
• 系统函数与频率响应有着密切的联系。适 当地控制系统函数极点、零点的分布,可 以改变离散系统的频率响应特性: • 1.在原点处的零点或极点至单位园的距离始 终保持不变,对幅度响应不起作用。 • 2.单位圆附近的零点对系统幅度响应的波谷 的位置及深度有明显的影响。 • 3 单位圆内且靠近单位圆附近的极点对系统 幅度响应的位置和波峰有明显的影响。
练Hale Waihona Puke 题仿真图四,实验组织运行要求
• 1,学生在进行实验前必须进行充分的预习, 熟悉实验内容; 2,学生根据实验要求,读懂并理解相应的程 序; 3,学生严格遵守实验室的各项规章制度,注 意人身和设备安全,配合和服从实验室人员 管理;
五,实验步骤
• 在“开始--程序”菜单中,找到MATLAB程序,运行 启动; 进入MATLAB后 ,首先熟悉界面; 在Command Window中输入参考程序,并执行; 记录运行结果图形,并与笔算结果对照. 具体步骤如下: (1)设计程序; (2)确定输入时,求输出; (3)用MATLAB实现,并画出图形.
• 仿真结果如下图所示:
八,实验报告要求
1,报告中要给出实验的MATLAB程序,并对 每个语句给出注释,说明语句作用; 2,简述实验目的和原理; 3,画出仿真图; 4,给出收获和体会.
练习题
z − q1 已知系统函数H ( z ) = , 假设系统的零点 z − p1 q1在原点,极点p1分别取0.2、0.5、0.8, 画出他们的零极点分布图和幅频特性曲线, 并比较他们的幅频响应曲线, 以了解零极点对幅频响应特性的影响。
学习使用MATLAB进行数字信号处理

学习使用MATLAB进行数字信号处理第一章:MATLAB介绍与基本操作MATLAB是一种强大的数学软件,广泛应用于各个领域的科学计算,包括数字信号处理。
本章将介绍MATLAB的基本操作和数字信号处理领域常用的函数和工具箱。
1.1 MATLAB的安装与配置MATLAB可以在官方网站上下载,并按照安装指南进行安装。
安装完成后,需要进行基本的配置,例如设置工作目录和启用所需的工具箱。
1.2 MATLAB的基本语法和数据类型MATLAB的基本语法与其他编程语言相似,例如定义变量、执行算术运算和函数调用。
MATLAB支持的数据类型也很丰富,包括数值、字符、逻辑和结构等。
1.3 MATLAB的图形用户界面(GUI)MATLAB提供了一个图形用户界面,使用户可以通过可视化的方式进行数据处理和分析。
GUI工具箱可以方便地创建自定义的用户界面,以满足不同的需求。
第二章:数字信号处理基础本章将介绍数字信号处理的基本概念和数学原理,包括采样、量化、频谱分析和滤波等内容。
2.1 采样与重构采样是将连续信号转换为离散信号的过程,重构则是将离散信号还原为连续信号。
MATLAB提供了相应的函数和工具箱,用于进行采样与重构的操作。
2.2 量化与编码量化是将连续信号转换为离散信号的过程,编码则是将离散信号表示为二进制码。
MATLAB提供了多种量化和编码的方法和函数。
2.3 频谱分析频谱分析是分析信号在频域上的特性和分布的过程。
MATLAB 中的FFT函数可以对信号进行快速傅里叶变换,并绘制频谱图。
2.4 数字滤波数字滤波是去除或改变信号中某些频率成分的过程。
MATLAB 提供了多种滤波器设计和滤波器分析的函数和工具箱,方便用户进行数字滤波的操作。
第三章:MATLAB在数字信号处理中的应用本章将介绍MATLAB的数字信号处理工具箱和常用函数,以及应用实例。
3.1 DSP工具箱MATLAB的DSP(Digital Signal Processing)工具箱提供了丰富的函数和工具,用于数字信号的生成、分析和处理。
数字信号处理MATLAB实现及综合应用81页PPT文档

而且,在实用中,MATLAB还提供了内部函 数来快速进行离散傅里叶变换运算。
它采用了优化的算法,并且程序是用目的 码编写的,使得它有极高的运算速度,命名 为fft,反变换是ifft。
调用方式为y=fft(x) 或 y=fft(x, N)。
图7-4 4点DTFT和DFT图
(2)低通到高通的频率变换 [b1,a1]=lp2hp(b,a,w0),其中,w0为高通滤 波器的截止频率(rad/s)。
本章和下一章上机实验都是课程学习的 重要实践环节,它不仅能帮助同学们理解和 掌握课程的重要概念和基本内容,而且也有 益于读者深入学习和应用信号处理知识来解 决实际问题。
7.1 数字信号处理MATLAB实现
7.1.1 MATLAB简介 7.1.2 离散时间信号与系统分析应用 举例 7.1.3 离散傅里叶变换应用举例 7.1.4 IIR滤波器设计常用函数及举例 7.1.5 FIR滤波器设计常用函数及举 例
lp2bs。
(5)频率响应相关函数 freqz、freqs。
7.1.2 离散时间信号与系统分析应用举例
1.zplane(b,a)函数或pzplotz(b,a)函数 2.freqz函数 3.filter函数
图7-1 零极点图
图7-2 频率响应图
图3 仿真波形
7.1.3 离散傅里叶变换应用举例
[n,wn]=buttord/cheb1ord/cheb2ord/ellipord(wp ,ws,Rp,Rs,'s')
2.模拟低通原型函数
[z,p,k]=buttap(n)/cheb1ap(n,Rp)/cheb2ap(n,Rs )/ellipap(n,Rp,Rs)
《数字信号处理》实验指导书(全)

数字信号处理实验指导书电子信息工程学院2012年6月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (16)实验五基于ICETEK-F2812-A 的FFT 算法分析 (18)实验六基于ICETEK-F2812-A 的数字滤波器设计 (20)实验七基于ICETEK-F2812-A的交通灯综合控制 (24)实验八基于BWDSP100的步进电机控制 (26)实验一离散信号产生和基本运算一、实验目的(1)掌握MATLAB最基本的矩阵运算语句。
(2)掌握对常用离散信号的理解与运算实现。
二、实验原理1.向量的生成a.利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。
第二种格式用于生成步长为p的均匀等分的向量。
b.利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。
第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。
2.矩阵的算术运算a.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9b.乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另'A表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。
sin(A),cos(A),exp(A),log(A)(相当于ln)sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部 式中A 可以是标量也可以是矩阵 例: 利用等差向量产生一个正弦值向量 t=0:0.1:10 A=sin(t) plot(A)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。
实验部分:matlab在数字信号处理中的应用

Matlab在数字信号处理中的应用(基础)一、数据类型:1、整数:Matlab支持8位,16位,32位和64位的有符号和无符号整数数据类型。
如:x=int8(50); %指定x的数据类型为int8.x=502、浮点数:matlab的默认数据类型是双精度类型(double),为了节省存蓄空间,matlab 也支持单精度数据类型的数组。
Realmin(‘single’)Ans=1.1755e-038Realmax(‘double’)Ans=2.2251e-3083、复数:matlab中虚数单位由i或者j表示。
Z=6+7j另一种创建复数的方法可以通过complex()函数,complex()函数的调用格式:C=complex(a,b),返回结果c为复数,实部是a,虚部是b。
二、数组的创建1、一维数组的创建:创建一维行向量,只需要把所有数组元素用空格或者逗号分隔,并用方括号吧所有数组元素括起来即可。
如用分号,即为列向量。
创建等差的一维数组:格式Var=start-val:step:stop-val。
如果步长是1,可以省略。
2、二维数组的创建;在创建二维数组时,用逗号或者空格区分同一行的不同元素,用分号或者软回车区分不同的行。
三、函数流程控制1、顺序结构。
2、判断语句(if---else if---else----end).3、循环语句(for----end)四、作图1、二维图:plot(x,y,linespec),linespec参数,用于对图像外观属性的控制,包括线条的形状,颜色和点的形状,颜色。
stem(x,y);绘制脉冲杆图图形。
Stairs(x,y);绘制阶梯图图形。
2、图像子窗口:subplot(m,n,p),将图像分为m╳n个子区域,在第p个区域中绘制图像。
3、坐标轴:axis(xmin,xmax,ymin,ymax).指定当前图像中x轴和y轴的范围。
4、图形注释:1)标题:title(‘图形名字’)。
数字信号处理matlab pdf

数字信号处理matlab数字信号处理(Digital Signal Processing,DSP)是一种处理离散时间信号的方法,这些信号通常通过模拟信号进行数字化获得。
MATLAB是一个广泛使用的科学计算软件,可用于数字信号处理。
在MATLAB中进行数字信号处理的基本步骤通常包括:1.数据导入和预处理:MATLAB中可以方便地导入数字信号,包括音频、图像等。
然后可以对信号进行一些预处理操作,例如滤波、降噪等。
2.信号分析和特征提取:在信号预处理之后,可以进行更深入的分析,如频率分析、功率谱分析、相关性分析等。
此外,还可以提取信号的特征,例如频率、幅值、相位等。
3.信号处理算法实现:在MATLAB中,可以使用各种内置函数和工具箱来实现各种数字信号处理算法,如滤波器设计、频域变换、调制解调等。
4.结果可视化:MATLAB提供了强大的绘图和可视化工具,可以方便地显示信号处理的结果。
以下是一个简单的MATLAB代码示例,展示了如何读取一个音频文件并计算其功率谱:```matlab%读取音频文件[signal,fs]=audioread('filename.wav');%转换为单通道(如果需要)if size(signal,2)==2signal=sum(signal,2);end%计算功率谱[Pxx,F]=periodogram(signal,[],length(signal),fs);%绘制功率谱图figure;plot(F,10log10(Pxx/max(Pxx)));xlabel('Frequency(Hz)');ylabel('Power/Frequency(dB/Hz)');title('Power Spectrum');```请注意,这只是一个非常基础的示例。
实际应用中,数字信号处理可能涉及更复杂的算法和数据处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二数字信号处理的基本作图工具
一、实验目的
1. 进一步加深对离散时间系统的理解。
2. 学习在MATLAB中怎样表示离散时间信号。
3. 熟悉离散时间信号的作图。
二、实验步骤
1. 复习离散时间系统的有关内容。
2. 复习MATLAB的基本语法。
3. 按实验内容熟悉stem。
4. 编写程序。
5. 输出结果,总结结论,按要求写出实验报告。
三、实验内容
1.掌握stem函数
STEM(Y) plots the data sequence Y as stems from the x axis terminated with circles for the data value.
STEM(X,Y) plots the data sequence Y at the values specified in X.
例:t=[0:0.1:2]; x=cos(pi*t+0.6); stem(t,x);
xn=[4,2,2,3,6,7]; stem(xn);
思考:STEM(Y)与STEM(X,Y)有什么不同?STEM与PLOT函数有什么不同?
2.掌握subplot函数
H = SUBPLOT(m,n,p), or SUBPLOT(mnp), breaks the Figure window into an m-by-n matrix of small axes, selects the p-th axes for the current plot, and returns the axis handle. The axes are counted along the top row of the Figure window, then the second row, etc.
例:
n1=0:3;x1=[1,1,1,1];subplot(221);stem(n1,x1);title('x1序列');
n2=0:7;x2=[1,2,3,4,4,3,2,1];subplot(222);stem(n2,x2);title('x2序列');
n3=0:7;x3=[4,3,2,1,1,2,3,4];subplot(223);stem(n3,x3);title('x3序列');
n4=0:7;x41=cos((pi/4)*n4);subplot(224);stem(n4,x41);title('x4序列');
思考:subplot是怎样分配各个作图分区的顺序号的?
3.信号的运算
]0,1.0,4.0,7.0,1[)(1=n x ,]9.0,7.0,5.0,3.0,1.0[)(2=n x ,请作出)()(21n x n x +,)()(21n x n x 的图形。
思考:假如)(1n x 与)(2n x 长度不同,序列的求和和乘积运算能否执行,结果怎样? 程序:x1=[1,0.7,0.4,0.1,0]
x2=[0.1,0.3,0.5,0.7,0.9]
subplot(121);stem(x1+x2);title('x1+x2');
subplot(122);stem(x1.*x2);title('x1*x2');
四、 实验报告要求
1. 简述实验目的及原理。
2. 概括各函数的常用调用方式,记录程序运行的各种结果。
3. 回答思考题。