常见离散信号的MATLAB产生和图形显示

系列文章目录

数字信号处理(DSP:Digital Signal Process)是电子通信领域非常重要的研究方向,博主汇总了数字信号处理(DSP)中常用的经典案例分析,主要基于算法分析、MATLAB程序实现、信号图像显示,对数字信号处理的实际应用进行详细分析。
第一篇 常见离散信号的MATLAB产生和图形显示
常见离散信号的MATLAB产生和图形显示

文章目录

  • 系列文章目录
  • 一、实验目的
  • 二、实验原理
  • 三、实验内容及步骤
  • 四、实验用MATLAB函数介绍
  • 五、实验代码
  • 六、实验结果


一、实验目的

1.熟悉MATLAB应用环境,常用窗口的功能和使用方法。 2.加深对常用离散时间信号的理解。 3.掌握简单的绘图命令。 4.掌握线性卷积的计算机编程方法。

二、实验原理

常见离散信号的MATLAB产生和图形显示_第1张图片

三、实验内容及步骤

(1)复习常用离散时间信号的有关内容。
(2)编制程序产生上述6种序列(长度可输入确定,对(4) (5) (6)中的参数可自行选择),并绘出其图形。
(3)已知系统的单位脉冲响应 输入信号 ,试用卷积法求解系统的输出 ,并绘出 、 及 图形。

四、实验用MATLAB函数介绍

(1)数字信号处理中常用到的绘图指令(只给出函数名,具体调用格式参看help)
figure(); plot(); stem(); axis(); grid on; title(); xlabel(); ylabel(); text(); hold on; subplot()
(2)离散时间信号产生可能涉及的函数
zeros(); ones(); exp(); sin(); cos(); abs(); angle(); real(); imag();
(3)卷积计算可能涉及的函数
conv(); length()
注:实验过程中也可以使用自己编制的自定义函数,如impseq()、stepseq()等。

五、实验代码

MATLAB程序源码:

%单位采样序列
n=-10:10;
y1=zeros(1,21);
y1(1,11)=1;
subplot(3,2,1);
stem(n,y1);
axis([-10 10 -0.1 1.1]);
xlabel('n');ylabel('y1')
title('单位采样序列');
%单位阶跃序列
n=-10:10;
y2=zeros(1,21);
y2(1,11:21)=1;
subplot(3,2,2);
stem(n,y2);
axis([-10 10 -0.1 1.1]);
xlabel('n');ylabel('y2')
title('单位阶跃序列');
%矩形序列
n=-10:10;     
y3=zeros(1,21);
y3(1,11:13)=1;
subplot(3,2,3);  
stem(n,y3); 
axis([-10 10 -0.1 1.1]);
xlabel('n'); ylabel('y3');
title('3点矩阵序列');
%正弦序列
x=-100:100;     
y4=2*sin(2*x+2);
subplot(3,2,4);  
stem(x,y4); 
axis([-100.1 100.1 -2.1 2.1]);
xlabel('x'); ylabel('y4');
title('正弦序列');
%复正弦序列
n=-10:10;     
y5=exp(j*2*n);
subplot(3,2,5); 
stem(n,y5); 
axis([-10.5 10.5 -2.1 2.1]);
xlabel('n'); ylabel('y5');
title('复正弦序列');
%指数序列
n=-10:10;
y6=2.^n;
subplot(3,2,6);
stem(n,y6);
axis([-10.5 10.5 -2.1 1025]);
xlabel('n');ylabel('y6');
title('指数序列');

%x(n)-n图像
n=-100:100;     
x=zeros(1,201);
x(1,101:110)=1;
subplot(2,2,1);  
stem(n,x); 
axis([-100.5 100.5 -1.1 1.1]);
xlabel('n'); ylabel('x');
title('x(n)-n图像');
%h(n)—n图像
n=-100:100;
y2=zeros(1,201);
y2(1,101:201)=1;
h=(0.9.^n).*y2;
subplot(2,2,2); 
stem(n,h);
axis([-100.5 100.5 -0.1 1.1]);
xlabel('n');ylabel('h')
title('h(n)—n图像');
%卷积
n=-100:100;
[y,ny]=convu(h,n,x,n)
subplot(2,2,3); 
stem(ny,y)
axis([-100.5 100.5 -10 10]);
xlabel('n');ylabel('y')
title('y(n)—n图像');
% convu函数
function [y,ny]=convu(h,nh,x,nx)
nys=nh(1)+nx(1);nyf=nh(end)+nx(end);
y=conv(h,x);ny=nys:nyf;
end

六、实验结果

常见离散信号的MATLAB产生和图形显示_第2张图片
常见离散信号的MATLAB产生和图形显示_第3张图片

你可能感兴趣的:(数字信号处理,matlab,数字信号处理,matlab,DSP)