引用来自: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实现的更多相关文章

  1. 大毕设-matlab-AM调制解调

    博主大毕设关于数字下变频(DDC)的CUDA实现,预计工期比较长,所以留下一些文字记录. 主要分为两部分工作,Matlab仿真部分和CUDA实现. 由于很久没有仿真了,所以先用一个简单的AM调制仿真练 ...

  2. 大毕设-MATLAB-常用知识回顾

    要用到FIR滤波器和抽样器下面研究这两个的Matlab实现: Fir滤波器: matlab上fir滤波器的关键字是fir1 在command窗口输入help fir1出现帮助文档: >> ...

  3. 大毕设-MATLAB-滤波器的实现

    在工程实际中遇到的信号经常伴有噪声,为了消除或减弱噪声,提取有用信号,必须进行滤波,能实现滤波功能的系统称为滤波器.严格地讲,滤波器可以定义为对已知的激励提供规定响应的系统,响应的要求可以在时域或频域 ...

  4. matlab fft demo

    clf; fs=32;N=1024;   %采样频率和数据点数 n=0:N-1; t=n/fs;   %时间序列 x=1*sin(t); %信号 y=fft(x,N);    %对信号进行快速Four ...

  5. 台大郭彦甫MATLAB教学-个人笔记(一)

    命令和一些特殊的变量 who:查看有哪些变量1. whos:可以查看变量的大小.字节和类型等资料. clear:如果单独使用则是清空所有命令,若后面跟着一个变量名称则为删除此变量. clc:清空命令行 ...

  6. [转载]Matlab中fft与fftshift命令的小结与分析

    http://blog.sina.com.cn/s/blog_68f3a4510100qvp1.html 注:转载请注明出处——by author. 我们知道Fourier分析是信号处理里很重要的技术 ...

  7. matlab中fft快速傅里叶变换

    视频来源:https://www.bilibili.com/video/av51932171?t=628. 博文来源:https://ww2.mathworks.cn/help/matlab/ref/ ...

  8. matlab中图像处理常见用法

    一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:/w01.tif') 注:计算机E盘上要有w01相应的.tif文件. 2. imwrite i ...

  9. matlab图像处理

    matlab图像处理 转自:http://www.cnblogs.com/lovebay/p/5094146.html 1. 图像和图像数据 缺省情况下,MATLAB将图像中的数据存储为双精度类型(d ...

随机推荐

  1. 服务器ssh登录提示“Permission denied, please try

    原因:不用怀疑,一般情况下,就是你密码输入错误了. 解决:找到正确的密码输入. 当然,也有可能是下面的情况: 在Windows中使用ssh客户端连接,提示"ssh服务器拒绝了密码,请再试一次 ...

  2. 转mysql 多表 update sql语句总结

    mysql 多表 update 有几种不同的写法. 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是ProductPrice表,我们要将ProductP ...

  3. [AIR] 新建窗口的方法

    有时根据需要,我们需要在AIR程序中开多个窗口window 以下新建一个窗口: var opion:NativeWindowInitOptions = new NativeWindowInitOpti ...

  4. 带你入门带你飞Ⅰ 使用Mocha + Chai + Sinon单元测试Node.js

    目录 1. 简介 2. 前提条件 3. Mocha入门 4. Mocha实战 被测代码 Example 1 Example 2 Example 3 5. Troubleshooting 6. 参考文档 ...

  5. AX 2012 在Grid 中添加image标识状态

    refer to :http://kiwiaxguy.blogspot.hk/2013/10/displaying-image-on-form-grid-in.html

  6. 统计在从1到n的正整数中1出现的次数

    问题: 给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数. 例如:N= 2,写下1,2.这样只出现了1个“1”. N= 12,我们会写下1, 2, 3, 4, ...

  7. 串口 COM口 TTL RS-232 RS-485 区别 释疑

    Point: 1.串口.COM口是指的物理接口形式(硬件).而TTL.RS-232.RS-485是指的电平标准(电信号). 2.接设备的时候,一般只接GND RX TX.不会接Vcc或者+3.3v的电 ...

  8. Node Server管理

    停止服务 Ctrl+Z暂停 Ctrl+C: kill it 先找到process ID (second from the left), 再kill it:$ ps axu | grep node$ k ...

  9. C#小程序飞行棋关卡操作

    飞行棋关卡操作 1.分析设计 飞行棋的基本规则为二人轮流掷骰子,则此处为循环结构,然后根据投掷出的点数进行前进<注:在每一步前进之后均应该判断是否走完了游戏>,在遇到关卡时进行相应的操作, ...

  10. angularjs上传图片

    通过AngularJS实现图片上传及缩略图展示(读取文件内容) AngularJS图片上传功能的实现(读取文件内容) AngularJs实现Multipart/form-data 文件的上传(上传文件 ...