CZT原理


CZT和DFT的matlab比较

举个例子,原来的时域信号是x(t)=cos(2pif1t)+ cos(2pif2t) + cos(2pif3t), f1=60HZ, f2=62HZ, f3=66HZ, 现在对x(t)以Fs=600HZ进行采样,选取t>=0 后200个采样点,即选取时域在0~1/3 s的信号部分,得到x(n), 对x(n)进行200点FFT,得到如下结果。因为频谱分辨率只有3HZ,所以分辨不出60和62HZ的部分,但是60与66HZ可分辨。

n=0:199;Fs=600;
f1=60;f2=62;f3=66;
t=n/Fs;
xn=cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t);
y=fft(xn,200);
plot([0:3:597],abs(y));
xlabel('f/HZ');ylabel('幅度');

当然还有一种方法,提高FFT的点数,如果使用600点FFT,频率分辨率为1HZ, 正好可以分辨60与62HZ, 缺点是增加了计算量。

现在使用CZT, 它的matlab表达式y=czt(x,N,W,A);

X是要变换的序列,N是变换的点数,W和A和上文中czt表达式中的含义一样。

依然选取N=200, 我们已知有用的频段是60HZ~66HZ, 可以从50HZ开始分析,令频谱分辨率为0.1HZ,因为N=200,所以最后可以分析到50+200*0.1=70HZ。不必像DFT一样分析0~600HZ

结果如图所示,成功分辨处60与62HZ,而且只用了200点分析。

n=0:199;Fs=600;
f1=60;f2=62;f3=66;
t=n/Fs;
xn=cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t);
D=0.1;F0=50;
W=exp(-j*2*pi*D/Fs);
A=exp(j*2*pi*F0/Fs);
y=czt(xn,200,W,A);
plot([50:0.1:69.9],abs(y));
xlabel('f/HZ');ylabel('幅度');

CZT变换的原理及matlab应用相关推荐

  1. PRI变换法原理解析及其matlab分析

    ---------------------------------------------------------------------------------------------------- ...

  2. verilog实现czt变换

    一.项目要求 ise,Verilog, 点数 512,czt变换, 分析带宽10khz,中心频率25khz,采样频率625KHz 信号从ram中读取,16bit数据宽度 工作时钟100M 二.分析 原 ...

  3. matlab 投票法_SVM算法原理及其Matlab应用

    <SVM算法原理及其Matlab应用>由会员分享,可在线阅读,更多相关<SVM算法原理及其Matlab应用(18页珍藏版)>请在人人文库网上搜索. 1.SVM 算法及其 Mat ...

  4. 量子遗传算法原理与MATLAB仿真程序

    写在前面: 1.其实这些智能算法的思想都差不多,只不过是各自搜寻方式.编码方式.种群更新方式等不一样而已. 量子遗传算法是在遗传算法的基础上使用了一种新的编码方式. 2.直接看前面介绍可能会觉得较难, ...

  5. PCA的原理及MATLAB实现

    相关文章 PCA的原理及MATLAB实现 UFLDL教程:Exercise:PCA in 2D & PCA and Whitening python-A comparison of vario ...

  6. 图像傅立叶变换的原理和物理意义

    图像傅立叶变换的原理和物理意义 图像的傅立叶变换,原始图像由N行N列构成,N必须是基2的,把这个N*N个包含图像的点称为实部,另外还需要N*N个点称为虚部,因为FFT是基于复数的,如下图所示: (// ...

  7. 空域变换之图像增强以及Matlab实现

    一.前述 本博客旨在对数字图像处理中的图像锐化.图像增强和边缘提取中用到的Laplace算子.Roberts算子.Prewitt算子和Sobel算子进行Matlab的直观实现,并带给读者不同的增强算子 ...

  8. BP神经网络原理及Matlab实现(Back Propagation Neural Networks,BPNN)

    BP神经网络原理及matlab实现 一.简介 1.BP 神经网络的信息处理方式的特点 2.BP神经网络的主要功能 二.神经网络的训练 1.神经网络拓扑结构(隐含层)的确定 2.网络的初始连接权值 3. ...

  9. 短时傅里叶变换原理及其MATLAB实现(Short Time Fourier Transform,STFT)

    短时傅里叶变换原理及其MATLAB实现(Short Time Fourier Transform,STFT) 1.短时Fourier变换原理(STFT原理) 信号x(t)短时Fourier变换定义为: ...

最新文章

  1. 从玩具到游戏,另类的项目激励机制
  2. 前端将数据转化为弹幕效果的实现方式
  3. 546. Remove Boxes 移除盒子
  4. .Net Core Razor 预编译,动态编译,混合编译
  5. mapreduce 算法_MapReduce算法–顺序反转
  6. Java 输出指定目录下的所有文件
  7. 图解法求最优解的例题_初一上学期,方程的解互为相反数,两种方法求解参数的值...
  8. django 接收ajax请求
  9. centos下不重装php——给PHP添加新扩展库
  10. Windows Azure Web Site (12) Azure Web Site配置文件
  11. HTML基础之表单制作
  12. 模拟、数字基带/频带通信系统:编码、信源/信道编码、调制、码间串扰
  13. 数据库容灾技术之--数据容灾技术比较
  14. linux 清屏函数
  15. layui表格下拉框无法显示
  16. UVa 10387 Billiard
  17. Filament 渲染引擎剖析 之 创建渲染对象 1
  18. 低功耗蓝牙搜索广播的实现流流程介绍 /BLE scan flow ----- 蓝牙低功耗协议栈
  19. 常用的协议端口号(TCP and UDP)
  20. 游戏建模都用什么软件?

热门文章

  1. JS中function(e) 其中的e到底代表什么
  2. 数据库——数据库备份与恢复
  3. liblinear java_LibLinear(SVM包)使用说明之(三)实践
  4. [详解栈和队列]数据结构之栈与队列
  5. 『PHP学习笔记』系列十:PHP制作验证码
  6. WebKit的历史项管理
  7. c语言直方图最大矩形面积,直方图中最大矩形面积(示例代码)
  8. oracle手机正则表达式,oracle正则表达式函数 匹配 手机
  9. c语言输出数字漏斗图形_为什么你觉得C语言什么都不能做,学了没用?错!大错特错!!!...
  10. eclipse快速下载Emmet插件