MATLAB离散时间信号的实现和时域基本运算(九)

简介: MATLAB离散时间信号的实现和时域基本运算(九)

1、实验目的:

1)了解时域离散信号的特点;

2)掌握MATLAB在时域内产生常用离散时间信号的方法;

3)熟悉离散时间信号的时域基本运算;

4)掌握离散时间信号的绘图命令。

2、实验内容:

2-1)、编程实现单位阶跃延迟序列u(n-2)图形。(注:图形的起点为0,终点为6,加注图名称)。

1. n0=0; nf=6; ns=2;   %起点为0,终点为6,在2出有单位阶跃序列
2. n=n0:nf;  %生成离散信号的时间序列
3. f=[zeros(1,ns-n0),ones(1,nf-ns+1)]; %生成离散信号f(n)
4. %也可用逻辑运算方法产生,f=[(n-ns)>=0]
5. stem(n,f,'filled'), axis([n0, nf, -0.1, 1.1]) %散点图
6. title('u(n-2)');  %加标题

1080b180667cbc276ae47fc81507d9d3_4bbefde93de3411c802f1520b61b0b25.png

2-2)、已知复指数序列6c5e9919a5b962caf3b12b16a19485fb_e20b6565c0b7416686b10656d04063f5.png,按照其实部和虚部分别绘图,其中取α=-(1/12),ω=π/6,n取[0,30]。

1. n0 = 0; nf = 30; n = n0:nf; 
2. a = -1/12; b = pi/6;    %加分号!
3. f = exp((a + b*j)*n);  %表达式 ,此处代码有修改!!!!!!!
4. subplot(1,2,1), stem(n,real(f),'filled'); 
5. xlabel('n'); ylabel('实部'); grid    
6. subplot(1,2,2), stem(n,imag(f),'filled'); 
7. xlabel('n'); ylabel('虚部'); grid

e746a97def18239818c6af768671861a_44496bb7c81247bfbe6b3ad28656dfae.png

2-3)、已知一时域周期性余弦信号的频率为2 Hz,振幅值幅度为2。在窗口上显示1个周期的信号波形,并对该信号的一个周期进行50点采样获得离散信号。试显示原连续信号和其采样获得的离散信号波形。

1. % 正余弦序列
2. f=2; Um=2; nt=1;   %输入信号频率、振幅和显示周期数
3. N=50; T=1/f;      %N为信号一个周期的采样点数,T为信号周期
4. dt=T/N       %采样时间间隔
5. n=0: nt*N;  %建立离散信号的时间序列
6. tn=n*dt;   %确定时间序列样点在时间轴上的位置
7. y=Um*cos(2*f*pi.*tn); 
8. subplot(2,1,1); plot(tn,y); %显示原连续信号
9. axis([0 max(tn) -1.1*max(y) 1.1*max(y)]); ylabel('y(t)'); %限制范围 一个周期
10. subplot(2,1,2); stem(tn,y); %采样获得的离散信号波形
11. axis([0 max(tn) -1.1*max(y) 1.1*max(y)]); ylabel('y(n)');

1cc206ed2d4faa7c76e36188cb0e2688_d1301fec4a9f4b989de066c135771bef.png

2-4)、已知离散时间信号,用MATLAB绘出x(n)、x(-n)、x(n+2)、x(n-2)的波形。

1. x = [1 2 3 3 3 3];      %离散时间信号
2. n = [-2 -1 0 1 2 3];    %确定采样点的序号
3. subplot(221); stem(n,x,'filled');
4. subplot(222); stem(-n,x,'filled');
5. subplot(223); stem(n+2,x,'filled');
6. subplot(224); stem(n-2,x,'filled');

b57e445b4104d18ccf4015fde9a11d12_7becece938be422bb059898daeddefd5.png

2-5)、已知序列f1(n)={-6 2 0 -5 8 4 3 -1 7},-6≤n≤2;f2(n)={1 -2 3 0 -3 2 -1},-2≤n≤4,求f3(n)=f1(n)+f2(n),并绘制出f1、f2、f3三者的图形。

1. n1 = -6:2; f1 = [-6 2 0 -5 8 4 3 -1 7]; %序列f1(n)
2. n2 = -2:4; f2 = [1 -2 3 0 -3 2 -1];     %序列f2(n)
3. new_n=min([n1,n2]):max([n1,n2])         %构造和序列 n=[-6:4]
4. x1=zeros(1,length(new_n)); x2=x1;       %初始化新向量
5. x1(find((new_n>=min(n1))&(new_n<=max(n1))))=f1;   %在新序列中放置f1,其中find函数找到索引位置[1 2 3 4 5 6 7 8 9]
6. x2(find((new_n>=min(n2))&(new_n<=max(n2))))=f2;   %在新序列中放置f2,其中find函数找到索引位置[4 5 6 7 8 9 10]
7. f=x1+x2;    %序列相加
8. subplot(1,3,1), stem(new_n,x1,'filled'),title('序列f1');
9. subplot(1,3,2), stem(new_n,x2,'filled'),title('序列f2');
10. subplot(1,3,3), stem(new_n,f, 'filled'),title('序列相加');

3ea47f091d0f22f55536a12f5d4a930b_8cd150d848d447eab39b2fb0e7f70565.png

2-6、已知一正弦信号:d4dbf691c920d75ca37f9c256897c162_5c8cebe781af4543806bebc9ae543f0e.png ,试编程实现截取该信号的[-5 5]区间的波形(注:加窗截取方式,在同一窗口下显示三个图形)。

1. n = -10:10; x = 2*sin(2*pi*n/10);
2. f1=[(n+5)>=0];
3. f2=[(n-5)>0];
4. f=f1-f2;
5. x1=x.*f;%x是一个行向量所以要点乘
6. subplot(3,1,1); stem(n,x,'filled'); title('正弦信号'); 
7. subplot(3,1,2); stem(n,f,'filled'); title('截取信号'); 
8. subplot(3,1,3); stem(n,x1,'filled');title('截取图形');

354ea7108ea0d24e6dbbbdeac173c4ab_2c810384fc3d4c9d8b3c260cf8295380.png

 12d4236caff0f67854f461b4226c4eb3_20c6d1de1cfa4e538215e34f75861adb.jpeg


目录
打赏
0
0
0
0
6
分享
相关文章
利用matlab提取出频域和时域信号的29个特征
利用matlab提取出频域和时域信号的29个特征
MATLAB 实现轴承转轴信号仿真
轴承转轴信号仿真是一种重要的研究手段,用于分析轴承的健康状态、检测故障以及开发故障诊断算法。通过构建仿真信息并添加故障信号,可以生成用于轴承信号分析的测试数据。
BOC调制信号matlab性能仿真分析,对比功率谱,自相关性以及抗干扰性
本内容介绍了一种基于BOC(Binary Offset Carrier)调制的算法,使用Matlab2022a实现。完整程序运行效果无水印,核心代码配有详细中文注释及操作步骤视频。理论部分阐述了BOC调制在卫星导航中的应用优势:相比BPSK调制,BOC信号功率谱主瓣更窄、自相关函数主峰更尖锐,可优化旁瓣特性以减少干扰,提高频谱利用率和同步精度,适合复杂信道环境下的信号接收与处理。
基于FPGA的信号DM编解码实现,包含testbench和matlab对比仿真
本项目展示了DM编解码算法的实现与测试结果。FPGA测试结果显示为T1,Matlab仿真结果为T2。使用软件版本为Matlab 2022a和Vivado 2019.2。核心程序包含详细中文注释和操作视频。DM编解码通过比较信号样本差值进行编码,适用于音频等低频信号处理。硬件结构包括编码器(采样器、减法器、比较器)和解码器(解码器、积分器)。
一维信号的小波变换与重构算法matlab仿真
本程序使用MATLAB2022A实现一维信号的小波变换与重构,对正弦测试信号进行小波分解和重构,并计算重构信号与原信号的误差。核心步骤包括:绘制分解系数图像、上抽取与滤波重构、对比原始与重构信号及误差分析。小波变换通过多分辨率分析捕捉信号的局部特征,适用于非平稳信号处理,在信号去噪、压缩等领域有广泛应用。
|
11月前
|
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
435 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
263 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
423 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问