去掉60Hz 的信号
clc,clear all;close all;
fs=180;
N=2000;
t=(1:N-1)/fs;
s=1.2*sin(2*pi*t*20)+0.5*cos(2*pi*t*60);%%% 滤掉60Hz的信号
% level=8; wavename='bior2.6';
figure;
subplot(211); plot(t,s); title('原始信号') ; grid on
[f, spectrum ] = gan_fft(s,fs,N);
subplot(212);plot(f,spectrum); title('原始信号pinpu'); grid on
[C,L]=wavedec(s,1,'db6');
a1=appcoef(C,L,'db6',1);
d1=detcoef(C,L,1);
d1=(zeros(length(d1),1));
%%%另外一种重构方法:
s=idwt(a1,d1','db6');
figure;
%s_2=waverec([a2;d2;d1],[length(a2);length(d2);length(d1);length(s)],'db6');
s2=waverec([A2 D2 D1],[length(A2);length(D2);length(D1);length(s1)],wavename);
subplot(211);plot(s); grid on;
[f, spectrum ] = gan_fft(s,fs,N);
subplot(212);plot(f,spectrum); title(' 去掉60Hz 原始信号pinpu'); grid on;
function [f, spectrum ] = gan_fft(s,Fs,L)
%GAN_FFT 此处显示有关此函数的摘要
% 此处显示详细说明
y=fft(s);
p2=abs(y/L);
p1=p2(1:L/2+1);
p1(2:end-1)=2*p1(2:end-1);
f = Fs*(0:(L/2))/L;
spectrum=p1;
end