用MATLAB做ASK的傅里叶变换时遇到的问题

用MATLAB做ASK的傅里叶变换时遇到的问题,matlab,fft,modulation,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

我们有一个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;

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


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

如果你想看振幅和相位,你可以问这个问题。 abs(fft(v))表示幅值,角度(fft(v))表示相位

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

将光谱移到零中心是个好主意。它使光谱更容易理解

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