引用来自: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. mysql的故事

    所有的条件都分开理解,命令之间没有包含吗?

  2. js 循环

    //数组循环var a = [1, 2, 3, 4, 5, 6];for (var i = 0, l = a.length; i < l; i++) { console.log(a[i]);} ...

  3. linux svn hooks代码自动更新至项目

    由于开发移动端web,ui需要及时看到样式变化,所以通过svn hooks(钩子)来提交文件,然后再把文件同步到测试服务器项目目录,步骤如下: 1.进入 /home/svn/cmall/hooks ( ...

  4. How to Take Control of Your Line Height in Outlook.com

    Reference to: http://www.emailonacid.com/blog/details/C13/line_height_and_outlook.com

  5. SQLServer2008-镜像数据库实施手册(双机)SQL-Server2014同样适用

    SQL Server2008R2-镜像数据库实施手册(双机)SQL Server2014同样适用 一.配置主备机 1. 服务器基本信息 主机名称为:HOST_A,IP地址为:192.168.1.155 ...

  6. shell 中调用其他的脚本

    方法有三种: 1 使用source 2 使用 . 3 使用sh 简单实验: first.sh #!/bin/bashecho 'your are in first file' second.sh #! ...

  7. qt 工具下的dump工具导出文档出现异常解决方案

    今天一直认为qt环境下的dumpcpp 和dumpdoc两个导出工具很好用,可以今天在导出MSChart组件的类方法文档时,虽然导出成功了,但是导出的结果却是令人失望.自己也不知道如何能够正确导出,就 ...

  8. 优化servlet

    在最开始的时候我们写一个servlet(LoginServlet)对应一个请求(Login.jsp),这样的话就会产生很多的servlet,使其以后维护变得麻烦,所以我们可以考虑将同一类型(Login ...

  9. 官方提供的屏蔽百度转码Baidu Transcoder的方法no-transform

    首先,百度在官方的声明中说:[喝小酒的网摘]http://blog.hehehehehe.cn/a/17112.htm百度仅作为中立的转码工具及相关技术的提供方.在转码过程中,百度对第三方网站内容不做 ...

  10. C# 加密解密文件

    using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptograph ...