数字信号处理:MATLAB实验代码整理 您所在的位置:网站首页 dsp信号处理实验 数字信号处理:MATLAB实验代码整理

数字信号处理:MATLAB实验代码整理

#数字信号处理:MATLAB实验代码整理| 来源: 网络整理| 查看: 265

写在前面:本文中所有的matlab代码已整理,见下载资源“DSP_matlab.zip”。

数字信号处理之MATLAB实验代码整理 1 常用的离散时间信号(DSP1_DiscreteTimeSignals.m)1)单位样本序列2)单位阶跃序列3)实指数序列4)复指数序列5)正弦序列6)随机序列 2 序列运算(DSP2_SequenceOperation.m)1)信号相加2)信号相乘3)信号加权4)信号移位5)信号反转6)信号卷积7)实验一_1:对信号进行加权、平移、反褶等基本运算操作8)实验一_2(主要看自编卷积的过程): 3 连续时间信号(见DSP3_ContinuousTimeSignalsSpectrumAnalysis.m)1)周期信号傅里叶级数(以周期方波信号的求解为例)2)非周期信号的傅里叶级数(以一个[-2,2]上的分段函数为例)3)实验二_1: 4 Z变换(见DSP4_ZTransform.m)1)求离散时间系统的Z变换乘积2)部分分式法:求X(z)的部分展开式3)实验三_3 :计算零极点与系统稳定性 5 LTI系统的频域分析(见DSP5_LTISpectrumAnalysis.m)1) 根据h(n)求系统频域响应H(exp(j*w))的幅度响应和相位响应2)实验四_1(问题a和上面的差不多,主要看问题b):3)实验四_2(典型例题): 6 简单滤波器设计(见DSP6_SimpleFilterDesign.m)1)设计一个高通滤波器,滤去低频分量 7 信号的采样和重建1)对信号x(t)进行采样和重建 8 信号DFT的计算1)用DFT计算有限长余弦信号的频谱 9 加窗对信号频谱分析影响1)在DFT对信号进行频谱分析时,分别加矩形窗和海明窗 10 数字滤波器结构1)实现IIR滤波器的级联型和并联型结构 11 FIR数字滤波器的设计1)用窗函数法设计FIR数字滤波器:2)频率取样法设计FIR数字滤波器 12 IIR数字滤波器的设计1)用模拟滤波器(这里分别用巴特沃斯、切比雪夫I型、椭圆型)转换数字滤波器的方法(脉冲响应不变法和双线性变换法)

1 常用的离散时间信号(DSP1_DiscreteTimeSignals.m) 1)单位样本序列 n1 = -2; n2 = 5; n0 = 1; n = [n1:n2]; % n1和n2是序列n的上下界 x = [(n-n0)==0]; % 给处置序列[],只有当(n-n0)==0时值才为1 stem(n,x); % 自变量写前面 2)单位阶跃序列 n1 = -2; n2 = 5; n0 = 1; n = [n1:n2]; x = [(n-n0)>=0]; % 只有当(n-n0)>=0时值才为1 stem(n,x); 3)实指数序列 % 实现x(n) = a^n n = [0:10]; x = (0.9).^n; % 在含有数组的乘、除、乘方运算时需要点乘,表示对应运算 stem(n,x); 4)复指数序列 % 实现x(n) = e^((a+bj)*n) a = 2; b = 3; % a表示实部,b表示虚部 n = 1:10; x = exp((a+b*j)*n); % 取实部,幅度谱 figure(1); stem(n,real(x)); % 取虚部,幅度谱 figure(2); stem(n,imag(x)); % 计算总幅度,画出幅度谱 AmpX = sqrt(real(x).^2 + imag(x).^2); % 计算总幅度方法一 AmpX = abs(x); % 计算总幅度方法二 figure(3); stem(n,AmpX); % 计算相位,画出相位谱 AngleX = angle(x); figure(4); stem(n,AngleX); 5)正弦序列 A1 = 3; w1 = 0.1*pi; b1 = pi/3; A2 = 2; w2 = 0.5*pi; b2 = 0; n = [0:10]; x = A1*cos(w1*n+b1) + A2*sin(w2*n+b2); stem(n,x); 6)随机序列 N = 10; x = randn(1,N); % 注意中间是逗号,第一个参数必须是1,表示在[1:N]产生标准正态分布随机序列 stem(x); % 不用输入自变量n 2 序列运算(DSP2_SequenceOperation.m) 1)信号相加 function[y,n] = sigadd(x1,n1,x2,n2) % 两个序列分别为x1和x2,对应的自变量为n1和n2 % 运算结果为y,对应的自变量为n n = min( min(n1),min(n2) ):max( max(n1),max(n2) );% 输出自变量取输入中最小和最大的 % y1和y2是将输入序列x1和x2的自变量范围扩大到n,因变量不变 y1 = zeros(1,length(n)); % 1×length(n)的矩阵,即一维数组 y2 = y1; y1( find((n>=min(n1)) & (n=min(n2)) & (n=min(n1)) & (n=min(n2)) & (n=nh(1) && t


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有