你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

MATLAB_数字信号处理_01

2021/12/20 13:04:58

SYSU_SECE_数字信号处理_01

在这里插入图片描述

a1=0.4;a2=4;
n=1:10;
xn_1=a1.^(n/2);%生成函数
stem(n,xn_1);
title("a=0.4时信号波形");
xlabel('n');ylabel('xn_1');grid on
figure
xn_2=a2.^(n/2);
stem(n,xn_2);
title("a=4时信号波形");
xlabel('n');ylabel('xn_2');grid on

在这里插入图片描述
在这里插入图片描述

N=200;
n=1:N;%采样点数
Ts=0.2;%采样间隔
subplot(3,1,1);
xn=sin(pi*n*Ts/10);
stem(n,xn);
title("原信号");
xlabel("n");ylabel("xn");
subplot(3,1,2);
xn_1=sin(pi*n*Ts/20);%周期扩展两倍后的信号
stem(n,xn_1);
title("周期扩展两倍");
xlabel("n");ylabel("xn_1");
subplot(3,1,3);
xn_2=sin(pi*n*Ts/5);%周期压缩一半后的信号
stem(n,xn_2);
title("周期压缩一半");
xlabel("n");ylabel("xn_2");

在这里插入图片描述
在这里插入图片描述

figure
n=-10:14;%范围
x=[0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,6,5,4,3,2,1,0,0];
x_3n=[1,2,3,4,5,6,7,6,5,4,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0];
x_n2=[0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,6,5,4,3,2,1];
yn=x_3n+x.*x_n2;
stem(n,yn);
title("y(n)=x(3-n)+x(n)*x(n-2)的图像");
xlabel("n");ylabel("y(n)");grid on;

在这里插入图片描述
在这里插入图片描述

figure
Ts=0.1;%采样间隔
n=-10:Ts:10;%采样点数
sinc_n=sin(pi*n)./(pi*n);%或者直接使用sinc(pi*n)
stem(n,sinc_n);
title("sinc(n)信号 -10~10s采样图像");
xlabel("n");ylabel("sinc(n)");grid on

在这里插入图片描述
在这里插入图片描述

figure
subplot(2,1,1);
z=[1 3 3 1];
m=[6 0 2 0];
M=16;%点数
[x,~]=impz(z,m,M);%求解单位冲激响应
stem((0:M-1),x);
title("系统单位冲激响应");
xlabel("n");ylabel("h(n)");grid on
subplot(2,1,2);
[x,~]=dstep(z,m,M);%求解单位阶跃响应
stem((0:M-1),x);
title("系统的单位阶跃响应");
xlabel("n");ylabel("g(n)");grid on
%%=====================================
figure
x_n=[1,1,1,1,1];
hn=impz(z,m,M);
y=conv(x_n,hn);%利用卷积计算
stem(y,'filled');
title("系统对输入序列x(n)=R5(n)的响应");
xlabel("n");ylabel("y(n)");grid on

在这里插入图片描述
涉及到的函数:

impz 功能:求解数字系统的冲激响应
dstep 功能:求解数字系统的阶跃响应
conv 卷积和乘法,返回两个向量的卷积和
stem 绘制离散序列图形(二维脉冲杆状图)
fliplr 对行序列进行左右翻转
subplot 在同一图形界面上产生多个绘图区间

上述题目基本全部改编自西安电子科技大学出版社出版的《数字信号处理实验(MATLAB版)》,可以在其中找到原理部分,我们理论课使用的教材也是西电的,《数字信号处理》(第四版)高西全 丁玉美

声明:不保证代码的正确性,只是提供一种思路……