大毕设-MATLAB-FFT实现
引用来自:http://blog.csdn.net/sinwel/article/details/8115673
%仿真参数中的含义
% Ts 表示间隔Ts时间采样,这个越小越接近连续信号,而实际上不可能真正的仿真连续信号。
% df 表示变化后频率分量的最小间隔,即频谱中相邻的点间隔频率是多大,你也可以叫它 频率分辨力
% 为什么df = fs/N-1呢?
% 因为采样频率 fs=1/Ts,表示的意义是连续信号用fs去采样,得到了
% 离散的信号,因此实际上的连续信号在这里并没有给出,因为MATLAB不可能做的真正的
% 连续信号,而且既然采样间隔是Ts,所以时域信号也就只给出间隔Ts的信号,这样可以
% 刚好满足仿真需求,当然你也可以把时域的信号变为更细,把时间间隔变得更小,
% 也就是说信号的个数是 采样频率的整数倍,确保能够正常才够采样。
4.fs的选取,根据采样定义,fs>2fmax
如果信号最高频率分量为10HZ,则采样频率一定要大于或等于20HZ,最好选大点。这样仿真效果明显
clear all;
Ts=0.01;
t=-1:Ts:1;
%采样信号频率是fs=100;
fs=1/Ts;
%原信号频率是10;
x=5*sin(2*pi*10*t);
%N是总共的采样点数,N=101;
N=length(x);
fx=fft(x);
%N个点有N-1个间隔;
df=fs/(N-1);
%让负频率也显示出来;
n=-(N-1)/2:(N-1)/2;
f=n*df;
subplot(211);
plot(t,x);
grid;
title('原始信号');
xlabel('时间(t)');
ylabel('幅度');
subplot(212);
plot(f,abs(fftshift(fx))*2/N);
grid;
title('频谱');
xlabel('频率(hz)');
ylabel('频率分量');
% 此外MATLAB中FFT计算结果是一个N点的复数,且第n点表示的含义是
% 频率为 Fn = (n-1)*Fs/N 的复数值(cos 和 sin的分量)
% 它的模大小abs就是傅里叶的频谱幅度大小。
% 关于fftshift这个函数,它的作用是:
% shift zero-frequency component to center of spectrum.
% 因为FFT出来的结果是频率0~Fs分布的,如果想看双边频率谱,就需要将频率变为
% -Fs~0~FS。
大毕设-MATLAB-FFT实现的更多相关文章
- 大毕设-matlab-AM调制解调
博主大毕设关于数字下变频(DDC)的CUDA实现,预计工期比较长,所以留下一些文字记录. 主要分为两部分工作,Matlab仿真部分和CUDA实现. 由于很久没有仿真了,所以先用一个简单的AM调制仿真练 ...
- 大毕设-MATLAB-常用知识回顾
要用到FIR滤波器和抽样器下面研究这两个的Matlab实现: Fir滤波器: matlab上fir滤波器的关键字是fir1 在command窗口输入help fir1出现帮助文档: >> ...
- 大毕设-MATLAB-滤波器的实现
在工程实际中遇到的信号经常伴有噪声,为了消除或减弱噪声,提取有用信号,必须进行滤波,能实现滤波功能的系统称为滤波器.严格地讲,滤波器可以定义为对已知的激励提供规定响应的系统,响应的要求可以在时域或频域 ...
- matlab fft demo
clf; fs=32;N=1024; %采样频率和数据点数 n=0:N-1; t=n/fs; %时间序列 x=1*sin(t); %信号 y=fft(x,N); %对信号进行快速Four ...
- 台大郭彦甫MATLAB教学-个人笔记(一)
命令和一些特殊的变量 who:查看有哪些变量1. whos:可以查看变量的大小.字节和类型等资料. clear:如果单独使用则是清空所有命令,若后面跟着一个变量名称则为删除此变量. clc:清空命令行 ...
- [转载]Matlab中fft与fftshift命令的小结与分析
http://blog.sina.com.cn/s/blog_68f3a4510100qvp1.html 注:转载请注明出处——by author. 我们知道Fourier分析是信号处理里很重要的技术 ...
- matlab中fft快速傅里叶变换
视频来源:https://www.bilibili.com/video/av51932171?t=628. 博文来源:https://ww2.mathworks.cn/help/matlab/ref/ ...
- matlab中图像处理常见用法
一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:/w01.tif') 注:计算机E盘上要有w01相应的.tif文件. 2. imwrite i ...
- matlab图像处理
matlab图像处理 转自:http://www.cnblogs.com/lovebay/p/5094146.html 1. 图像和图像数据 缺省情况下,MATLAB将图像中的数据存储为双精度类型(d ...
随机推荐
- OAF_开发系列11_实现OAF通过DataBoundValues动态显示表列的左右对齐
20150712 Created By BaoXinjian
- iis网站发布相关问题
最近在公司的服务器上发布了一个简单的web应用,整个做下来到上线用了将近2天时间,期间出现了各种问题,现在发出来供大家参考: 1.iis上发布后出现访问网站,出现“IIS服务器被配置为不列出此目录的内 ...
- 解决Android SDK下载和更新失败的方法(Win系统) 和离线安装
http://jingyan.baidu.com/article/a3a3f811f370558da2eb8a94.html http://jingyan.baidu.com/article/636f ...
- 1、Android Studio集成极光推送(Jpush) 报错 java.lang.UnsatisfiedLinkError: cn.jpush.android.service.PushProtoco
Android studio 集成极光推送(Jpush) (华为手机)报错, E/JPush: [JPushGlobal] Get sdk version fail![获取sdk版本失败!] W/Sy ...
- 关于CSS学习的第一章
1.CSS三种书写的方式:嵌入式.外链式.行内式 嵌入式就是将CSS写入在<style></style> 外链式将外面的CSS文件通过HTML中的标记链接过来:<link ...
- openlayers中实现自定冒泡的效果
自定义的Openlayers.Popup.FreshCloud继承自Openlayers.Popup.Framed,实现了比较简洁的冒泡效果,详细代码如下 /** * Class: OpenLayer ...
- 通过js获取cookie的实例及简单分析
今天碰到一个在firefox下swfupload 上传时session不一致问题 在一个项目遇到多文件上传时,firefox下,服务器端的session获取不一致问题. 解决办法: 解决办法:将ses ...
- 转:SAAS 测试
基于SaaS云计算网络性能测试指标研究 来源:中国软件评测中心 作者:马子明 投稿时间:2011-04-02 1.基于SaaS的云计算 SaaS(Software as a Service,软件即 ...
- SQL Server获取月度列表
-- 获取月度列表 if exists(select 1 from sysobjects where name = 'proc_GetDateMonthList' and type = 'p') dr ...
- c# 利用结构体获取json数据
最近做微信支付,要获取用户的openid,调用接口后返回的是json格式的数据,我想在c#后台把数据逐一取出,网上查了查,找到以下方法: 1.首先调用接口,要有一个post数据到指定url并返回数据的 ...