麻烦使用MATLAB进行ASK的傅里叶变换

时间:2014-03-24 10:59:42

标签: matlab fft modulation

我们有一个ASK调制信号。我们需要傅里叶变换,因此我使用了FFT,但是我只需要abs()一侧吗?我的代码是完整的吗?我也不确定如何从时域(t)转移到频域(f)以便进行matlab。

clear all;
clc;
close all;

F1=input('Enter the frequency of carrier=');
F2=input('Enter the frequency of pulse=');
A=3;
t=0:0.001:1;
x=A.*sin(2*pi*F1*t);
u=A/2.*square(2*pi*F2*t)+(A/2);
v=x.*u;

figure
subplot(4,1,1);
plot(t,x);
xlabel('Time');
ylabel('Amplitude');
title('Carrier');
grid on;
subplot(4,1,2);
plot(t,u);
xlabel('Time');
ylabel('Amplitude');
title('Square Pulses');
grid on;
subplot(4,1,3);
plot(t,v);
xlabel('Time');
ylabel('Amplitude');
title('ASK Signal');
grid on;
fs=100;
q=fft(v);
subplot(4,1,4);
plot(fs,q);
grid on;

2 个答案:

答案 0 :(得分:0)

如果您不确定是否应使用abs(),请使用它。更多info

fs=100;
q=abs(fft(v));
subplot(4,1,4);
plot(q);

答案 1 :(得分:0)

取决于您要如何看待结果FFT。 函数fft(v)通常很复杂。 有两种检查FFT的方法。 最常用的一种是相位/幅度图,另一种是I和Q表示,它们是正弦和余弦谐波的系数。

如果要查看幅度和相位,则可以询问。 abs(fft(v))表示幅度,而角度(fft(v))表示相位

如果您想查看I和Q通道的形式,请询问以下内容: real(fft(v))和imag(fft(v))

Shift是将频谱移动到零中心的好主意。它使频谱更容易理解。