📄 shipinzuoye3.m
字号:
clear all
%生成chirp实信号,序列X
T=1; %信号长度
fs=200; %采样率
t=(1/fs:1/fs:T)';
S=zeros(fs*T,1);
f0=10;f1=50;
S=chirp(t,f0,1,f1); %调用chirp函数
%plot(S);
%生成gauss噪声序列N和被污染的信号X
N0_variance=1; %修改噪声方差可以改变信噪比
randn('state',0);
N0=N0_variance^1/2*randn(size(S)); %生成噪声
X=S+N0;
%匹配滤波器
N=length(S);
h=zeros(N,1);
h=S(N:-1:1,1); %S的匹配滤波器冲激响应函数序列
%plot(h);
%进行匹配滤波
X_fft=fft(X,2*N); %用FFT做离散线形卷积,FFT长度至少为N1+N2-1(因为FFT为周期卷积)
h_fft=fft(h,2*N);
Y=X_fft.*h_fft;
y=ifft(Y,2*N);
figure(1);plot(abs(y));
xlabel('Time');ylabel('Output');
%y1=ifft(fft(S,2*N).*fft(h,2*N)); %用来调试匹配滤波器
%subplot(2,1,2);plot(abs(y1));
%调用WVD函数求WVD分布
fft_number=N;
wvd=WVD(X,fft_number);
figure(2);
mesh((1:N),(0:fft_number-1),wvd);
xlabel('Time');ylabel('Frequence');zlabel('WVD');
%调用WVD_Hough变换
M=100;N=100; % M为斜率采样点数;N为截距采样点数
WVD_Hough = WHT(wvd,M,N);
figure(3);
mesh((1:N),(1:M),WVD_Hough);
xlabel('截距');ylabel('斜率');zlabel('WHT');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -