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


相关文章
|
7天前
|
数据可视化 数据挖掘
MATLAB - 信号分析器(signalanalyzer-app)
MATLAB - 信号分析器(signalanalyzer-app)
21 1
基于高通滤波器的ECG信号滤波及心率统计matlab仿真
**摘要:** 使用MATLAB2022a,实施高通滤波对ECG信号预处理,消除基线漂移,随后分析心率。系统仿真展示效果,核心代码涉及IIR HPF设计,如二阶滤波器的差分方程。通过滤波后的信号,检测R波计算RR间期,从而得到心率。滤波与R波检测是心电生理研究的关键步骤,平衡滤波性能与计算资源是设计挑战。
|
2月前
|
机器学习/深度学习 算法 语音技术
基于语音信号MFCC特征提取和GRNN神经网络的人员身份检测算法matlab仿真
**语音识别算法概览** MATLAB2022a中实现,结合MFCC与GRNN技术进行说话人身份检测。MFCC利用人耳感知特性提取语音频谱特征,GRNN作为非线性映射工具,擅长序列学习,确保高效识别。预加重、分帧、加窗、FFT、滤波器组、IDCT构成MFCC步骤,GRNN以其快速学习与鲁棒性处理不稳定数据。适用于多种领域。
|
3月前
|
数据可视化 数据库
matlab中使用VMD(变分模态分解)对信号去噪
matlab中使用VMD(变分模态分解)对信号去噪
matlab中使用VMD(变分模态分解)对信号去噪
|
3月前
|
数据安全/隐私保护
时域与频域数据互相转换,傅里叶变换与逆傅里叶变换,matlab程序,时域转频域
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
3月前
|
数据可视化
matlab使用经验模式分解emd 对信号进行去噪
matlab使用经验模式分解emd 对信号进行去噪
|
12天前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
31 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
13天前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
39 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
13天前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
28 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
3月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章