matlab信号采样
采样对象
40个离散点,在实空间的40个点内,有2个周期:
采样周期:1/2
每两个点抽样一个,所以抽样结果如下:
对抽样结果分别进行模拟DFT和FFT运算,得到抽样信号的频谱图:
对比两图发现:
1.DFT得到的频谱是40个频率刻度,而FFT得到的只有20个频率刻度。
2.DFT得到的频谱有4个频率分量,而FFT只有两个频率分量。
所以哪个方法得到的结果是对的呢?再回答这个问题前,先看看下面这个离散点只有20个的2(周期)信号图以及他的频谱图(注:此信号不是原信号):
是的,这两个频域图一模一样,连频域的刻度都一样。实空间的曲线也是一样的(因为都是两个周期,且离散点都是20个),只有横轴的范围不一样:一个是1—40,另一个是1—20。是的,FFT把抽样函数当做相同周期的另一个函数了。
造成这一结果的原因在于:抽样函数的离散点减少了,少于原来40个点了。之前说过,频谱会按照离散点的取值,划分频谱图里的频率刻度。40个点划40个频率,20个点划20个基频。
所以只需要把没有采样的点置0,保持40个采样点,就可以得到采样信号的频谱了:
可以看到,这样抽样后的频谱图和之间的DFT是一样的,所以我们以后抽样的时候,没有抽到的部分也要保留下来并置0。
代码:
close all;%% 原信号
n = 0:1:39; %40个离散点
A = cos(2*pi*n*2/40); %频率:2个周期
figure; stem(n,A); hold on; plot(n,A); title('原信号');%% 抽样信号
n = 0:2:39; %20个离散点
A = cos(2*pi*2*n/40);
figure; stem(n,A); hold on; plot(n,A); title('抽样信号');%% 抽样信号作FFT和DFT
A = cos(2*pi*2*n/40);B = fft2(A);
figure; stem(B); title('抽样信号FFT'); sum = zeros(1,20);
for freq = 0:2:39B = cos(2*pi*freq*n/40);C = A.*B;for num = 0:19sum(freq/2+1) = sum(freq/2+1) + C(num+1);end
end
figure; stem(n,sum); title('抽样信号DFT');%% 原信号20个离散点
n = 0:1:19; %20个离散点
A = cos(2*pi*n*2/20); %频率:2个周期
figure; stem(n,A); hold on; plot(n,A); title('20离散点信号');B = fft2(A);
figure; stem(B); title('20离散点信号FFT'); sum = zeros(1,20);
for freq = 0:1:19B = cos(2*pi*freq*n/20);C = A.*B;for num = 0:19sum(freq+1) = sum(freq+1) + C(num+1);end
end
figure; stem(n,sum); title('20离散点信号DFT');%% 修改后的采样信号频谱
A = zeros(1,40); %40个离散点
for num = 0:2:39 %抽样1/2A(num+1) = cos(2*pi*2*num/40);
endn = 0:1:39;
figure; stem(n,A); title('40离散点抽样信号');
B = fft2(A);
figure; stem(B); title('40离散点抽样信号FFT');
matlab信号采样相关推荐
- 连续函数matlab采样,基于 MATLAB 的时域信号采样及频谱分析(转)
一.课程设计题目: 基于 MATLAB 的时域信号采样及频谱分析 二.基本要求: ① 掌握数字信号处理的基本概念.基本理论和基本方法: ② 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方 ...
- matlab对正弦采样信号采样重建,信号与系统实验报告4
实验报告 课程名称:信号与系统 实验项目名称:实验4 信号抽样及抽样定理 实 验 目 的: 学会运用MATLAB完成信号抽样及对抽样信号的频谱进行分析:学会运用 MATLAB改变抽样间隔,观察抽样后信 ...
- Matlab重建信号实验总结,实验三信号采样与重建(实验报告).doc
实验三信号采样与重建(实验报告) <信号与系统>实验报告 学院 专业 班级 姓名 学号 时间 实验三 信号采样与重建 一.实验目的 1.进一步学习MATLAB的函数及其表示. 2.掌握及验 ...
- 信号采样与sinc插值恢复MATLAB
信号采样与sinc插值恢复[MATLAB] 根据采样定理,若想无失真地从采样信号重建信号,需要满足: 信号为频带有限信号. fs≥2fmf_s \ge 2f_mfs≥2fm. 令插值因子为sinc ...
- matlab信号内插,【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)应用三次样条函数spline实现内插...
前三篇博文讲了三种方法进行内插重建信号: 这篇文章使用三次样条函数spline来实现内插重建,并分析重建误差. 采用的案例依然是上篇博文中的案例: 模拟信号: 对该信号使用两种不同的采样频率采样. a ...
- matlab怎么对语音信号取样,语音信号采样和频谱分析
<语音信号采样和频谱分析>由会员分享,可在线阅读,更多相关<语音信号采样和频谱分析(3页珍藏版)>请在人人文库网上搜索. 1.语音信号采样和频谱分析 一实验目的 1)掌握傅里叶 ...
- matlab 信号插零,【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)...
这篇博文我们使用零阶保持器(ZOH)来重建信号,采用的案例依然是上篇博文中的案例: 模拟信号: 对该信号使用两种不同的采样频率采样. a. 在 fs = 5000 对信号进行采样 b. 在 fs = ...
- matlab怎么语音时域采样频谱,基于MATLAB的时域信号采样及频谱分析
基于 M ATL AB的时域信号采样及频谱分析 刘 艳 (长江师范学院物理学与电子工程学院 重庆 408000) 信 息 技 术 摘 要:在MATLAB仿真环境下,通过观察所生成的采样信号的时域图和频 ...
- matlab结课论文_科研小班 | 加州大学伯克利分校 | 物理、电子工程:MATLAB信号和数据处理课题...
科研小班 | 加州大学伯克利分校 | 物理.电子工程:MATLAB信号和数据处理课题(2021.1月开课)mp.weixin.qq.com 工程研究领域中,实验.模拟往往都会产生海量的数据.对这些数 ...
最新文章
- iMeta | 浙大倪艳组MetOrigin实现代谢物溯源和肠道微生物组与代谢组整合分析
- 如何成为一名入门级 iOS 开发者
- Docker最全教程——从理论到实战(四)
- linux清理备份日志,服务器日志清理备份
- 数据结构实验之栈五:下一较大值(一)
- Mac计算器的计算过程怎么看?教你一键查看运算记录!
- 记录——《C Primer Plus (第五版)》第九章编程练习第十题
- tp3.2 实现增删改查
- IBM System 服务器做RAID步骤
- 黄聪:让WordPress主题支持语言本地化(使用poedit软件实现中文翻译功能)
- 图片验证码识别教程技术原理分析
- dreamweavercc 数据库_dreamweaver两种方法连接数据库(测试成功,超详细步骤)
- 在div中加本地html,div加载另一个HTML页面
- 全球及中国面膜行业消费格局与十四五趋势分析报告2022年
- 仿照Flexstroe3写的一个员工管理应用 (三)
- 如何利用华硕Mesh系统路由器在780平方公尺大的场域架设可靠的WiFi系统?
- vue-time-slot 一款基于vue3的会议预约时间组件,时间轴为早7-晚11,可自由选择,并且非常方便。
- c++ 求int数组的长度
- Jasper Report 6.8 根据后台数据生成动态报表(JRXML文件实现)(二)生成XML文件(支持json,bean,map list数据源)
- 有创意的LED电子骰子