求matlab实现波形数据的“频域”—>“时域”的转换?109
发布网友
发布时间:2023-11-08 09:34
我来回答
共3个回答
热心网友
时间:2024-12-14 19:03
我不知道你的数据也不没办法帮你做,我给你个例子你自己看看就懂了
clear all
clc
fs=100;%设定采样频率
N=128; n=0:N-1; t=n/fs;
f0=10;%设定正弦信号频率
%生成正弦信号
x=sin(2*pi*f0*t);
figure(1); subplot(311); plot(t,x);%作正弦信号的时域波形
xlabel('t'); ylabel('y'); title('正弦信号y=2*pi*10t时域波形'); grid;
%进行FFT变换并做频谱图
y=fft(x,N);%进行fft变换
mag=abs(y);%求幅值
f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换
figure(1); subplot(312); plot(f,mag);%做频谱图
axis([0,100,0,80]); xlabel('频率(Hz)'); ylabel('幅值'); title('正弦信号y=2*pi*10t幅频谱图N=128'); grid;
%用IFFT恢复原始信号
xifft=ifft(y); magx=real(xifft); ti=[0:length(xifft)-1]/fs;
figure(1); subplot(313); plot(ti,magx);
xlabel('t'); ylabel('y'); title('通过IFFT转换的正弦信号波形'); grid;
热心网友
时间:2024-12-14 19:03
你好怎么前面加了个张老师呢????把第一个图的数据在matlab里的workplace搞出来然后matlab主框输入sptool然后在signals里面importworkplace里面的数据然后在signal里面选中刚才那个数据,然后再spectra的下面点create然后出来个框method
热心网友
时间:2024-12-14 19:03
你会用fft,那你就不能用ifft转回去?