关于连续信号的傅里叶分析,可以参考博文《学习笔记之——基于matlab的数字通信系统(1)&连续信号的傅里叶分析》

目录

离散时间信号的傅里叶变换(DTFT)

连续时间信号的抽样——抽样定理

离散傅里叶级数(DFS)——离散的周期序列的傅里叶级数

离散傅里叶变换(DFT)

快速傅里叶变换FFT

代码

参考文献


离散时间信号的傅里叶变换(DTFT)

先给出课本的解析

对于DTFT有如下特点:

1、是离散的,所以变换需要求和而不是积分。

2、是w的连续函数;且是w的周期函数,周期为2pi

3、可以看作将在频域展开为傅里叶级数,傅里叶

DTFT的重要性质:

连续时间信号的抽样——抽样定理

实际种,信号的抽样是通过A/D芯片来实现将连续信号变成数字信号。通过抽样,将连续信号的x(t)变为数字信号x(nTs),将x(t)的傅里叶变换变为

抽样函数为,其对应的傅里叶变换为

对于信号采样,有公式:

根据时域卷积定理,有:

经运算后有:

将连续信号抽样变为离散信号,对应的离散信号的频谱将变成周期的。而变成周期的方法就是进行频谱的周期延拓。如下图所示:

进而得出抽样定理:

离散傅里叶级数(DFS)——离散的周期序列的傅里叶级数

离散傅里叶变换(DFT)

在计算机上实现频谱分析及其他方面的处理工作时,对信号的要求是:在时域和频域上都应该是离散的。在四种傅里叶变换种,只有DFS在时域和频域上都说离散的,但是却都是无限长的

对于DFS有

在DFS种,n和k仍取无穷长,但实际上并没有必要,因为他们都是以N点(采样点)为周期的。故此有:

显然,DFT并不是一种新的傅里叶变换,它实际上是来自于DFS,只不过它仅仅在时域和频域各取一个周期而已。

快速傅里叶变换FFT

代码

DTFT

N=8;                         %原离散信号有8点
n=[0:1:N-1]                  %原信号是1行8列的矩阵
syms t;
xn=0.5.^n;f=0.5.^t                   %构建原始信号,为指数信号
subplot(311);
ezplot(f);
title('原始信号(指数信号)');subplot(312)
stem(n,xn);
title('原始信号(离散化),');w=[-800:1:800]*4*pi/800;     %频域共-800----+800 的长度(本应是无穷,高频分量很少,故省去)
X=xn*exp(-j*(n'*w));         %求dtft变换,采用原始定义的方法,对复指数分量求和而得subplot(313);
plot(w/pi,abs(X));
title('DTFT变换')

clear all
%%%%%%%%%%%%%%%%
n1=-15:15;
h1=exp(-abs(0.1*n1));
subplot(2,2,1);stem(n1,h1);title('h1');
%%%%%%%%%%%%%%%%%%%%%%%
n2=0:20;
h2(n2+1)=1;
subplot(2,2,2);stem(n2,h2);title('h2');w=-4:0.001:4;%产生要计算的w的范围
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Hjw1=h1*(exp(-j*pi).^(n1'*w));
subplot(2,2,3);plot(w,abs(Hjw1))
title('H1');xlabel('pi弧度(w)');ylabel('振幅')
%%%%%%%%%%%%%%%%%%%%%%%%%%%
Hjw2=h2*(exp(-j*pi).^(n2'*w));
subplot(2,2,4);plot(w,abs(Hjw2));
title('H2');xlabel('pi弧度(w)');ylabel('振幅')%%%%%%%非周期离散信号的DTFT是——周期性,且连续的

验证卷积定理

clear all
n=0:30;
h=sinc(0.2*n);
subplot(3,3,1);stem(n,h);title('系统的时域响应')
x=2*sin(0.2*pi*n)+3*cos(0.4*pi*n);
subplot(3,3,2);stem(n,x);title('系统的输入')
%%%%%%%%%%%%%%%%%%%DTFT
w=-1:0.001:1;%%%要计算的频率的范围
Hjw=h*(exp(-j*pi).^(n'*w));
subplot(3,3,4);plot(w,abs(Hjw))
title('系统的频域响应');xlabel('pi弧度(w)');ylabel('振幅')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Xjw=x*(exp(-j*pi).^(n'*w));
subplot(3,3,5);plot(w,abs(Xjw));
title('系统的输入的频域');xlabel('pi弧度(w)');ylabel('振幅')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Yjw=Xjw.*Hjw;
%%%%%%%%%%%%%%%%%
subplot(3,3,6);plot(w,abs(Yjw));
title('系统的输出的频域');xlabel('pi弧度(w)');ylabel('振幅')n1=0:2*length(n)-2;%%%%%%%%计算IDTFT
dw=0.001*pi;%%%%%%%%%%分段求和来实现积分
y=(dw*Yjw*(exp(j*pi).^(w'*n1)))/(2*pi);
subplot(3,3,7);stem(abs(y));title('通过IDTFT计算出的输出序列Y');y1=conv(x,h);
subplot(3,3,9);stem(abs(y1));title('通过时域卷积计算出的输出序列Y1')

DFT变换

clear all
n=0:30;%%%%%%%%n的范围
x=sin(0.2*n).*exp(-0.1*n);
subplot(2,1,1);stem(n,x);title('序列x')
k=0:30;
N=31;
Wnk=exp(-j*2*pi/N).^(n'*k);%%%%%%DFT定义
X=x*Wnk;
subplot(2,1,2);stem(-15:15,[abs(X(17:end)) abs(X(1:16))])%%%%%%%%对坐标进行了对称排列
title('X的DFT')

上面的都是直接采用原始的定义公式。在matlab中有FFT函数。

DFT的循环卷积

clear all
%%%%%%产生两个信号序列
h=[6 3 4 2 1 -2];
x=[3 2 6 7 -1 -3];h1=fliplr(h);%%%%%%%%对序列进行翻转
H=toeplitz(h,[h(1) h1(1:5)]);%%%%%%%%%%%生成循环矩阵
y=H*x';%%%%%%%计算循环卷积序列
%%%%%%%%%%%%FFT
H=fft(h);
X=fft(x);
Y=H.*X;
y1=ifft(Y);subplot(2,1,1);stem(y);title('直接计算')
subplot(2,1,2);stem(y1);title('DFT计算')

clear all
n1=0:20;
n2=0:10;
h=sinc(0.2*n1);
x=exp(-0.2*n2);
y=conv(x,h);h1=[h zeros(1,length(x)-1)];
x1=[x zeros(1,length(h)-1)];
H1=fft(h1);
X1=fft(x1);
Y1=H1.*X1;
y1=ifft(Y1);subplot(2,1,1);stem(y);title('直接计算')
subplot(2,1,2);stem(y1);title('DFT计算')

参考文献

https://www.cnblogs.com/cezorzhao/archive/2013/03/24/2978686.html(用matlab对信号进行傅里叶变换)

学习笔记之——基于matlab的数字通信系统(2)之离散信号的傅里叶分析相关推荐

  1. matlab数字通信,基于matlab时分复用数字通信系统的设计与实现.pdf

    一.系统的功能及原理描述 时分多路复用(TDM,time division multiplex ): 在实际的通信系统中,为了提高通信系统的利用率,往往用多路通信的方式来传 输信号.所谓多路通信,就是 ...

  2. 通信原理学习笔记1:模拟与数字通信系统、通信系统性能指标

    通信系统的演变 有线模拟模拟通信系统:最早的有线电话,话音直接由话筒到电流信号再到听筒 有线电话,线路架设不便,引入无线信道,传输空间电磁波 无线模拟通信系统:无线电话通信系统,加入了调制器/解调器和 ...

  3. MATLAB学习笔记2:MATLAB基础知识(下)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  4. matlab模拟角度调制系统的仿真与设计,基于Matlab的模拟通信系统的仿真设计

    <基于Matlab的模拟通信系统的仿真设计>由会员分享,可在线阅读,更多相关<基于Matlab的模拟通信系统的仿真设计(25页珍藏版)>请在人人文库网上搜索. 1.目录摘要-第 ...

  5. MATLAB学习笔记3:MATLAB编程基础(前半)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  6. MATLAB学习笔记1:MATLAB概述

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  7. 【Pluto SDR】基于16QAM的数字通信系统

    [Pluto SDR]基于16QAM的数字通信系统 引言 数字传输通信系统模型 数字调制模型 帧同步模型 相位同步模型 时间同步模型 基于SDR的数字通信系统 总结与分析 代码 引言 我是一名通信工程 ...

  8. matlab逻辑电路图,基于.matlab的数字逻辑电路仿真.doc

    技术资料 技术资料 共享知识 共享知识 PAGE II XXX 毕业设计(论文) 专 业: 题 目: 作 者 姓 名: 导师及职称: 导师所在单位: 2011年 6 月 15 日 XXX 本科毕业设计 ...

  9. 基于MATLAB的数字图像处理的设计与实现 转

    基于MAT [摘要]数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务.数字图像处理是一种通 ...

最新文章

  1. 大数据学习01——配置虚拟机节点相关网络
  2. git 硬回滚和软回滚
  3. Filter在Vue,JS,JQ中的使用
  4. Windows Server 2003的功能级别
  5. matlab哈明窗带阻,基于matlabFIR低通,高通,带通,带阻滤波器设计.doc
  6. 大家一起做训练 第一场 A Next Test
  7. 无法启用数据库中的 Service Broker,因为已存在启用的具有相同 ID 的 Service Broker。...
  8. 序列化(写对象)与反序列化(读对象)
  9. Hadoop在master查看live nodes为0解决方案
  10. memset初始化数组的问题
  11. kmz转换为dwg_甲方发来PDF图纸,你还得重新CAD绘制?教你30秒PDF转DWG
  12. matlab做弹簧阻尼系统,第5章 弹簧阻尼系统建模.ppt
  13. 简单清晰的 Git 版本控制(一)------ 一些宏观认识的基础
  14. 亚马逊热销爆款产品货源有哪些?亚马逊无货源怎么做?
  15. python独立样本t检验 图_SPSS实操两个独立样本均数比较的t检验
  16. 80老翁谈人生(249):律师想干什么?
  17. 社团管理系统(part2)
  18. selenium 处理多浏览器测试
  19. html5如何让多张图片重叠,HTML5图片层叠
  20. Java + OpenCV 对图像进行水平投影和竖直投影

热门文章

  1. WPF 使用 TranslatePoint 换算元素之间相对坐标
  2. IntelliJ Mac 常用快捷键
  3. 免费的狸窝视频转换器挺好用
  4. 最新cs1.5僵尸服务器ip,我的世界1.7.2服务器WarZ僵尸战争
  5. WPF Binding(四种模式)
  6. Uniapp 图片选择插件(支持视频、音频) Ba-MediaPicker
  7. 在网页中添加矢量图形
  8. 图片文字识别OCR模型免费API接口工具及DEMO
  9. Android 开发学习资料
  10. file not found. 解决方案