matlab生成的波形怎么进行fft分析

 我来答
Su颜aiL依旧
2016-07-28 · TA获得超过118个赞
知道小有建树答主
回答量:58
采纳率:0%
帮助的人:40.5万
展开全部

我放个《通信原理——基于matlab的计算机仿真》的例子,是对方波进行分析的。

以下是主函数:

%*********利用DFT计算信号的频谱并与信号的真实频谱的抽样比较*******************

%***********************方波的傅里叶变换************************************

clear all;

close all;


T = 1;

N_sample = 128;

dt = T/N_sample;


t = 0:dt:T - dt;

st = [ones(1,N_sample/2), -ones(1,N_sample/2)];%一个周期的方波


subplot(211);

plot(t,st);

axis([0 1 -2 2]);

xlabel('t');

ylabel('s(t)');


subplot(212);

[f,sf] = DFT_T2F(t,st);

plot(f,abs(sf));

hold on;

axis([-10 10 0 1]);

xlabel('f');

ylabel('|S(f)|');


%根据傅里叶变换计算得到的信号频谱相应的位置的抽样值

sff = T^2*1i*pi*f*0.5.*exp(-1i*2*pi*f*T).*sinc(f*T*0.5).*sinc(f*T*0.5);

plot(f,abs(sff),'r--')


以下是子函数:

%使用FFT函数计算信号的傅里叶变换

function [f,sf] = DFT_T2F(t,st)

%输入:时间,信号向量;时间长度必须大于2

%输出:频率,信号频谱

dt = t(2) - t(1);

T = t(end);

df = 1/T;

N = length(st);


f = -N/2*df:df:N/2*df-df;

sf = fft(st);

sf = T/N*fftshift(sf);

Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式