数字信号处理MATLAB实验.docx
- 文档编号:1671920
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:9
- 大小:65.99KB
数字信号处理MATLAB实验.docx
《数字信号处理MATLAB实验.docx》由会员分享,可在线阅读,更多相关《数字信号处理MATLAB实验.docx(9页珍藏版)》请在冰豆网上搜索。
数字信号处理MATLAB实验
实验一熟悉MATLAB环境
一、实验目的
(1)熟悉MATLAB的主要操作命令。
(2)学会简单的矩阵输入和数据读写。
(3)掌握简单的绘图命令。
(4)用MATLAB编程并学会创建函数。
(5)观察离散系统的频率响应。
二、实验内容
认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。
在熟悉了MATLAB基本命令的基础上,完成以下实验。
上机实验内容:
(1)数组的加、减、乘、除和乘方运算。
输入A=[1234],B=[3456],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。
(2)用MATLAB实现以下序列。
a)x(n)=0.8n0≤n≤15
b)x(n)=e(0.2+3j)n0≤n≤15
c)x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π)0≤n≤15
d)将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期。
e)将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期。
(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本。
a)x1(n)=2x(n+2)-x(n-1)-2x(n)
b)
(4)绘出下列时间函数的图形,对x轴、y轴以及图形上方均须加上适当的标注。
a)x(t)=sin(2πt)0≤t≤10sb)x(t)=cos(100πt)sin(πt)0≤t≤4s
(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1 (6)给定一因果系统求出并绘制H(z)的幅频响应与相频响应。 (7)计算序列{8-2-123}和序列{23-1-3}的离散卷积,并作图表示卷积结果。 (8)求以下差分方程所描述系统的单位脉冲响应h(n),0≤n<50 y(n)+0.1y(n-1)-0.06y(n-2)=x(n)-2x(n-1) 三、思考题 (1)对于有限长序列,如何用MATLAB计算其DTFT? (2)对于由两个子系统级联或并联的系统,如何用MATLAB计算它们的幅频响应与相频响应? 四、实验报告要求 (1)简述实验目的及原理。 (2)按实验步骤附上实验程序。 (3)按实验步骤附上有关离散系统的频率特性曲线。 (4)简要回答思考题。 五、与本实验有关的MATLAB函数 x=sin(2*pi*f/fs*n);生成频率为f,采样频率为fs的正弦信号,式中,n=[012…N]。 sum(X);对于向量X,计算X各元素的和。 对于矩阵X,计算X各列元素之和组成的行向量。 plot(t,y);画出以向量t为坐标的向量y(行或列)的曲线。 向量t和向量y具有相同的维数。 命令plot(s1,t1,s2,t2,s3,t3);将在同一图上画出分别以t1,t2,t3为坐标的向量s1,s2,s3的曲线。 xlabel(‘samples’);在x轴上加上标注。 ylabel(‘amplitude’);在y轴上加上标注。 title(‘sinusoidalsignal’);在图的上部加上标题。 y=conv(h,x);计算向量h和x的卷积,结果放在y中。 y=filter(b,a,x);以向量b和a为参数的滤波器对输入信号向量x进行滤波处理。 h=impz(b,a,N);计算b和a为参数的N点滤波器脉冲响应。 [H,f]=freqz(b,a,N,Fs);给定以Hz为单位的采样频率Fs,计算以(b,a)为参数的滤波器N点频率向量f和N点复频率向量H。 该命令用于绘制滤波器的幅频和相频响应。 如果省略左边的[H,f],该命令将直接绘出滤波器的对数幅频和相频响应。 实验二信号的采样与重建 一、实验目的 (1)在学习本章内容的基础上,通过实验加强本章内容的有关信号采样与重建的基本概念,熟悉相关MATLAB函数。 (2)通过观察采样信号的混叠现象,进一步理解奈奎斯特采样频率的意义。 (3)通过实验,了解数字信号采样率转换过程中的频谱特性。 (4)对实际的音频文件做内插和提取操作,体会低通滤波器在内插和提取中的作用。 二、实验内容 认真阅读相关的MATLAB函数帮助文件。 再熟悉MATLAB函数的基础上,完成以下试验。 上机实验内容: (1)一信号是三个正弦信号的和,正弦信号的频率分别为50、500、1000Hz,该信号以8kHz采样。 用适当数量的样本画出该信号。 (2)一信号是三个正弦信号的和,正弦信号的频率分别为50、500、1000Hz,该信号以800Hz采样。 用适当数量的样本画出该信号,并讨论信号的混叠情况。 (3)令,其中f/fs=1/16,即每个周期内有16个点。 试利用MATLAB编程实现: 作M=4倍的抽取,使每个周期变成4点。 作L=3倍的插值,使每个周期变成48点。 (4)输入信号x(n)为归一化频率分别为f1=0.04,f2=0.3的正弦信号相加而成,N=50,内插因子为5,抽取因子为3,给出按有理因子5/3做采样率变换的输入输出波形。 (5)常见的音频文件采样率为44.1khz。 请找一个wav格式、采样率为44.1khz的音频文件,用MATLAB编写程序,把它转换为采样率为48、32、22.05、16和8khz的音频文件,用播放器分别进行播放,比较音质的变化,并解释原因。 (6)请找一个wav格式、采样率为11.025khz的音频文件,用MATLAB编写程序,把它转换为采样率为44.1khz的音频文件,采用两种方法: 直接插零;插零后滤波(可直接利用MATLAB相关函数),用播放器分别进行播放,比较音质的变化,并解释原因。 三、思考题 (1)试说明对于周期信号,应当如何采样,才能保证周期扩展后与原信号保持一致。 (2)模拟抗混叠滤波器的指标是如何确定的,欠采样的情况下是否需要模拟抗混叠滤波器? (3)抽取是否会造成信号频谱成分的缺失? 为什么还要这样做? 四、实验报告及要求 (1)简述实验目的及原理。 (2)按实验步骤附上试验程序。 (3)按实验内容附上有关离散信号的波形或关键样本,对音频信号给出测听的结果。 (4)简要回答思考题。 五、与本实验相关的MATLAB函数 y=decimate(x,M);对信号x按整数M作抽取,抽取前后作抗混叠低通滤波,结果放在y中。 y=interp(x,L);对信号x按整数L插零,然后作抗镜像低通滤波,结果放在y中。 y=resample(x,L,M);对信号x按有理因子L/M作采样率转换,结果放在y中。 [y,fs,bits]=wavread(‘filename.wav’);读取音频波形文件,这里y是声音的数组,fs是声音的采样频率,bits是采样样本的二进制位数。 wavwrite(y,fs,bits,‘filename.wav’);将声音的数组y写入音频波形文件,fs是声音的采样频率bits是采样样本的二进制位数。 实验三快速傅立叶变换及其应用 一、实验目的 (1)在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉MATLAB中函数。 (2)熟悉应用FFT对典型信号进行频谱分析的方法。 (3)了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。 (4)熟悉应用FFT实现两个序列的线性卷积和相关。 二、实验内容 实验中用到的信号序列: 高斯序列 衰减正弦序列 三角波序列 反三角波序列 上机实验内容: (1)观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q的值,使q分别等于2、4、8,观察他们的时域和频域特性,了解当q取不同值时,对信号时域频域特性的影响;固定q=8,改变p,使p分别等于8,13,14,观察参数p变化对信号序列的时域与频域特性的影响,注意当p=多少时会发生明显的泄漏现象,混叠是否也随时出现? 记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。 (2)观察衰减正弦序列xb(n)的时域和幅频特性。 α=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄露现象? 说明产生现象的原因。 (3)观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列xc(n)和xd(n)的幅频特性,观察两者的序列情况和频谱曲线有什么异同? 绘出两序列及其幅频特性曲线。 在xc(n)和xd(n)末尾补零,用N=32点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化? 这些变化说明了什么? (4)一个连续信号含有两个频率分量,经采样得 已知N=16,Δf分别为1/16和1/64,观察其频谱;当N=128时,Δf不变,其结果有何不同,为什么? (5)用FFT分别计算xa(n)(p=8,q=2)和xb(n)(a=0.1,f=0.0625)的16点循环卷积和线性卷积。 (6)产生一512点的随机序列xe(n),并用xc(n)和xe(n)做线性卷积,观察卷积前后xe(n)频谱的变化。 要求将xe(n)分成8段,分别采用重叠相加法和重叠保留法。 (7)用FFT分别计算和xb(n)(a=0.1,f=0.0625)的16点循环相关和线性相关,问一共有多少种结果,他们之间有何异同点。 (8)用FFT分别计算和xb(n)(a=0.1,f=0.0625)的自相关函数。 三、思考题 (1)实验中的信号序列xc(n)和xd(n),在单位圆上的z变换频谱和会相同吗? 如果不同,说明哪一个低频分量更多一些,为什么? (2)对一个有限长序列进行DFT等价于将该序列周期延拓后进行DFS展开,因为DFS也只是取其中一个周期来运算,所以FFT在一定条件下也可以用于分析周期信号序列。 如果时正弦序列,f=0.1用16点FFT来作DFS运算,得到的频谱是信号本身的真实谱吗? 为什么? 四、实验报告要求 (1)简述实验目的及原理。 (2)按实验步骤附上实验信号序列和幅频特性曲线,分析所得到的图形,说明参数改变对时域和频域的影响。 (3)总结实验中的主要结论。 (4)简要回答简答题。 五、与本实验相关的MATLAB函数 y=exp(X);对向量X的各元素做指数运算,结果为一向量。 conj(X);对向量X的各元素做复共轭运算,即将虚部改变符号。 real(X);对向量X的各元素取其实部。 v=randn(size(X));生成同X具有相同维数的正态分布的随机矩阵,通常用于生成高斯白噪声。 fft(X,N);计算X的N点FFT,如果X的长度小于N,则将在X后补零。 反之,如果X的长度大于N,则对X进行截取。 ifft(X);计算X的N点IFFT。 fftshift(Y);如果Y为向量,该命令将Y分成左右两部分并交换位置。 实验四IIR数字滤波器设计 一、实验目的 (1)掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。 (2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。 (3)熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。 二、实验内容 实验中有关变量的定义: fc通带边界频率 fr阻带边界频率 δ通带波动 At最小阻带衰减 fs采样频率 T采样周期 上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 MATLAB 实验