时域离散信号和时域离散系统的验证

1.请实现常用的典型序列。(包括但不限于单位脉冲序列,单位阶跃序列,矩形序列,指数序列,正弦序列等。)

指数序列:

t=0:10;
xn=exp(-2*t);
stem(t,xn,"filled")
grid on

在这里插入图片描述
单位脉冲序列:

n = [-3:3];  %生成位置向量
x = [(n-1) == 0]; %生成单个脉冲序列
stem(n,x); 
axis([-3,3,0,1.5]); %标示坐标

在这里插入图片描述
单位阶跃序列:

n = [-3:3]; %生成位置向量
x = [(n+1) >= 0]; %生成阶跃序列
stem(n,x);axis([-3,3,0,1.5]);

在这里插入图片描述
正弦序列 :

n = [0:1:20]; % 生成位置向量
x = 3*sin(0.1*pi*n+pi/3); % 生成正弦序列
stem(n,x); 
axis([0,20,-4,4]);

在这里插入图片描述
复指数序列:

n = [-2:10]; 
x = exp((0.2-0.5j)*n);  %复指数序列
subplot(1,2,1), stem(n,real(x)); %用空心圆画点
line([-5,10], [0,0]); %画横坐标
subplot(1,2,2), stem(n,imag(x),'filled'); 
%用实心圆画点
% line([-5,10], [0,0])

在这里插入图片描述

2.基本序列的运算

①差分运算
序列1 matlab:

t=0:10;
xn=t;
stem(t,xn,'filled')
title('y=t')
grid on

在这里插入图片描述
序列2 matlab:

t=0:10;
xn=2*t+1;
stem(t,xn,'filled')
title('y=2t+1')
grid on

在这里插入图片描述
差分运算matlab:

t=0:10;
x=0:10;
xn1=x;
xn2=2*x+1;
stem(t,xn1-xn2,'filled')
grid on

在这里插入图片描述
②尺度变换
原序列matlab :y=x+1

t=0:10;
x=0:10;
xn1=x+1;
stem(2*t,xn1,'filled')
grid on

在这里插入图片描述
原序列尺度变换(内插)的matlab:

t=0:10;
x=0:10;
xn1=x+1;
stem(2*t,xn1,'filled')
grid on

在这里插入图片描述
③翻转

n = [-3:3];               %生成一个序列 
x = [0,0,1,0.5,0.25,0.125,0];stem(n,x);
x = fliplr(x);            %x排列次序左右翻转 
n = -fliplr(n);          %向量n对n= 0翻转 
stem(n,x); 

在这里插入图片描述

3.已知序列x = [3,-3,7,0,-1,5,2];非零区间为-4≤n≤2;h = [2,3,0,-5,2,1];非零区间为-1≤n≤4,请分别计算无位置信息和有位置信息的卷积和。

卷积和函数:convextd.m

function [y,ny] = convextd(x,nx,h,nh)
% 序列y为序列x和序列h的卷积
% ny,nx,nh 分别为序列y,x和h的位置向量
% 调用方式 [y,ny] = convextd(x,nx,h,nh)
ny1 = nx(1)+nh(1);              % 计算卷积后的起点位置
ny_end = nx(end) + nh(end);          
% 计算卷积后的终点位置
y = conv(x,h);                      % 计算卷积和序列的数值
ny = [ny1:ny_end];      % 计算卷积和序列的位置向量
无位置信息:
x = [3,-3,7,0,-1,5,2]; 
% 序列x的非零区间-4≤n≤2
h = [2,3,0,-5,2,1];                  
% 序列x的非零区间-1≤n≤4
% 调用conv计算卷积和 
y = conv(x,h)

在这里插入图片描述
有位置信息:

x = [3,-3,7,0,-1,5,2]; nx = [-4:2];
% 给定输入序列
h = [2,3,0,-5,2,1]; nh = [-1:4];     
% 给定脉冲响应序列
[y,ny] = convextd(x,nx,h,nh)    
 % 带位置序列的卷积结果

在这里插入图片描述

4.请用工具箱函数计算法求卷积。

卷积和函数:convextd.m

function [y,ny] = convextd(x,nx,h,nh)
% 序列y为序列x和序列h的卷积
% ny,nx,nh 分别为序列y,x和h的位置向量
% 调用方式 [y,ny] = convextd(x,nx,h,nh)
ny1 = nx(1)+nh(1);              % 计算卷积后的起点位置
ny_end = nx(end) + nh(end);          
% 计算卷积后的终点位置
y = conv(x,h);                      % 计算卷积和序列的数值
ny = [ny1:ny_end];      % 计算卷积和序列的位置向量

x=[0,1,2,3];
h=[0,1,2,3];
y=conv(x,h)

在这里插入图片描述

5.请用计算机递推法求解差分方程。

a=0.8; ys=1; 
%设差分方程系数a=0.8,初始状态:y(-1)=1
xn=[1,zeros(1, 30)];
%x(n)=单位脉冲序列,长度 N=31
B=1;A=[1,-a];
%差分方程系数
xi=filtic(B,A,ys);
%由初始条件计算等效初始条件的输人序列 xi
yn=filter(B,A,xn,xi);
%调用 filter 解差分方程,求系统输出信号 y(n)
n=0:length(yn)-1;
subplot(1, 1, 1); stem(n, yn,'.')
title('(a)'); xlabel('n'); ylabel('y(n)')

ys=1时:
在这里插入图片描述
ys=0时:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沅_Yuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值