📄 fftfrequencyask.m
字号:
%估计频率
%
N=input('请输入FFT变换的点数N=');
Length=input('请输入序列的长度Length=');
disp('注意:采样率应大于载波频率的2倍');
frequency=input('请输入载波频率=');
fc=input('请输入采样率=');
%frequency=100;%载波频率
%产生ASK
x=randint(1,Length);
i=0:1:Length;
seq=0;
a=ones(1,fc);
b=zeros(1,fc);
for i=1:Length
if(x(i)==1)
seq=cat(2,seq,a) ;
elseif(x(i)==0)
seq=cat(2,seq,b) ;
end;
end
t=0:1/fc:Length;
y=sin(2*frequency*pi*t);
z1=seq.*y;
z=hilbert(z1);%把信号从实信号变成解析信号
zfft=fft(z,N);
zfftabs=abs(zfft);
f=(0:N-1)*fc/N;
figure
plot(f,zfftabs);
[z_max,w_max] = max(zfftabs);
w_max=(w_max)*fc/N;
title(['频率是:',num2str(w_max);]);
ylabel('Abs.Magnitude');grid on
xlabel('Frequency(Hertz)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -