shiyinjita的个人空间 https://blog.eetop.cn/239461 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

FFT加窗效应

已有 3270 次阅读| 2015-7-27 23:37 |个人分类:matlab

clc;
close all;
clear;
A1=20; %频率F1信号的扰动幅度
A2=19; %频率F2信号的扰动幅度
F1=50; %信号1频率(Hz)
F2=50; %信号2频率(Hz)
Fs=12800; %采样频率(Hz)
P1=30; %信号1相位(度)
P2=30.001; %信号2相位(度)
N=12800; %采样点数
n=[0:N-1];
t=[0:1:N-1]/Fs; %采样时刻
%信号
%H=220*sqrt(2)*cos(2*pi*F1*t+pi*60/180);
%H1=220*sqrt(2)*cos(2*pi*F2*t+pi*60.01/180);
snr = -1 ;
H=awgn(cos(2*pi*F1*t+pi*60/180) , snr);
H1=awgn(cos(2*pi*F2*t+pi*60.01/180) , snr) ;

%加窗
S=H(1:N);
S1=hann(N)'.*H1(1:N);
S12=blackman(N)'.*H1(1:N);

figure(1)
%显示原始信号
subplot(321);plot(t,H);
title('标准信号');
subplot(322);plot(t,H1);
title('被测信号');
%信号加窗
subplot(323);plot(t(1:N),S(1:N));
title('标准信号加窗');
subplot(324);plot(t(1:N),S1(1:N));
title('被测信号加窗');
Y = fft(S,N); %做FFT变换
Y1=fft(S1,N);
fuzhi = (abs(Y)); %取模
fuzhi1=(abs(Y1));

fuzhi=fuzhi/(N/2);   %换算成实际的幅度
F=([1:N]-1)*Fs/N; %换算成实际的频率值,Fn=(n-1)*Fs/N  f=fs*(0:length(Y)/2)/length(Y); 
subplot(325);
stem(F(1:N/2),fuzhi(1:N/2));   %显示换算后的FFT模值结果
title('幅度-频率曲线图');
fuzhi1=fuzhi1/(N/2);   %换算成实际的幅度
F=([1:N]-1)*Fs/N; %换算成实际的频率值,Fn=(n-1)*Fs/N
subplot(326);
stem(F(1:N/2),fuzhi1(1:N/2));   %显示换算后的FFT模值结果
title('幅度-频率曲线图');
Pyy=[1:N/2];
for i=1:N/2
xiangwei(i)=phase(Y(i)); %计算相位
xiangwei(i)=xiangwei(i)*180/pi; %换算为角度
end;


从图中可以看到主瓣和旁瓣不一致。
相位也是由于干扰进来导致

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 2

    好友
  • 1

    获赞
  • 29

    评论
  • 2823

    访问数

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 10:20 , Processed in 0.012639 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部