- Fs = 1000; % 采样频率
- T = 1/Fs; % 采样周期:0.001s
- L = 1500; % 信号长度
- t = (0:L-1)*T; % 时间向量. 时间向量从0开始递增,0s~1.499s
-
- S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); % 模拟原信号
- X = S + 2*randn(size(t)); % 加入干扰信号
-
- subplot(221);
- plot(t,S);
- xlabel("时间(s)");
- ylabel("幅值");
- title("原信号波形");
-
- subplot(222);
- plot(t,X);
- xlabel("时间(s)");
- ylabel("幅值");
- title("加入干扰信号波形");
-
- Y=fft(X);
- len = length(Y); % Len = L
- P2=abs(Y/L); % 计算幅值并进行能量还原
-
- % 751个,P1提取P2中左半部分的第1~751个
- P1 = P2(1:L/2+1);
- % 绘制单边谱,所以除了首尾元素,其余信号幅度翻倍
- P1(2:end-1) = 2*P1(2:end-1);
- %根据奈奎斯特定理,此处采样频率Fs为1000,因此频域分析的信号频率最大为500
- f = Fs*(0:(L/2))/L; % 0 ~ 500Hz
-
- subplot(223);
- plot(f,P1);
- xlabel("频率(Hz)");
- ylabel("幅值");
- title("含有干扰信号的傅里叶变换");
运行效果:
