专栏
标签
fft(data,N,"complex")
一般问题
发布于 2024-10-27 11:05:48
查看 20过去610天

N=800; #N为st信号的长度
Fs=10000;T=1/Fs;Tp=NT; %#采样频率为Fs=10kHz,Tp为采样时间
t=0:T:(N-1)T;k=0:N-1;f=k/Tp;#从0开始,以T为步长,直到(N-1)T的等差数列。这里,T是时间间隔,N是序列中的点数(包括0和(N-1)T),生成一个整数序列k,f表示的是离散频率,对应于每个k值(即每个样本)的频率。
fc1=Fs/10; #第1路调幅信号的载波频率为fc1=1000Hz
fm1=fc1/10; #第1路调幅信号的调制信号频率为fm1=100Hz
fc2=Fs/20; #第2路调幅信号的载波频率为fc2=500Hz
fm2=fc2/10; #第2路调幅信号的调制信号频率为fm2=50Hz
fc3=Fs/40; #第3路调幅信号的载波频率为fc3=250Hz
fm3=fc3/10; #第3路调幅信号的调制信号频率为fm3=25Hz
xt1=cos.(2
pi
fm1
t).cos.(2pi
fc1t); #产生第1路调幅信号
subplot(311),plot((0:length(xt1)-1)/Fs,xt1);grid("on")#创建一个三行一列的子图矩阵,以采样点数为x轴采样信号为y轴绘制曲线并打开栅格
title("第一路调幅信号");#图形窗口中添加标签
xlabel("t/s");ylabel("幅度");#x轴标签及y轴标签
xt2=cos.(2
pifm2t).cos.(2pifc2t); #产生第2路调幅信号
subplot(312),plot((0:length(xt2)-1)/Fs,xt2);grid("on")
title("第二路调幅信号");
xlabel("t/s");ylabel("幅度");
xt3=cos.(2pifm3t).cos.(2pifc3*t); #产生第3路调幅信号
subplot(313),plot((0:length(xt3)-1)/Fs,xt3);grid("on")
title("第三路调幅信号");
xlabel("t/s");ylabel("幅度");
st = xt1.+xt2.+xt3

fft(st ,N,"complex")

没法对st 进行频谱分析

所属专栏:Julia语言
产品信息:Syslab科学计算环境
科学计算
附件 1 个附件(4kb)

全部回答 1

发布于 2024-10-27 15:05:02

您好,根据您的代码,您得到的原数据st为非复值向量,直接使用fft(st)求解即可。您使用的fft(st ,N,"complex")为系统辨识工具箱中对于复值信号使用,具体使用可以查看帮助文档。

用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天