getsignal.m
来自「在matlab的小波分析中标,设计一个包含若干不连续点的一维信号」· M 代码 · 共 24 行
M
24 行
function sig = GetSignal()
% 引用wavelab中的数据,即A Wavelet Tour of Signal Processing(2nd edition)中fig6.6的信号
N = 64;
i = (1:N)./N;
x = (1-sqrt(i)) + i/2 -.5;
M = 8*N;
sig = zeros(1,M);
sig(M-1.5.*N+1:M-.5*N) = x;
sig(M-2.5*N+2:M-1.5.*N+1) = x(length(x):-1:1);
sig(3*N-30:3*N + N) = .5*ones(1,N+31);
t = (1:M)/M;
sigma = 0.01;
g = exp(-.5.*(abs(t-.5)./sigma).^2)./sigma./sqrt(2*pi);
g = fftshift(g);
sig2 = iconv(g',sig)'/M;
m = max(sig2);
j = find(sig2 == m);
sig(8*N/2+1:12*N/2) = sig2(j:j+2*N-1).*.5./m;
sig(1:2.5*N) = sig2(M-2.5*N+1:M);
sig(M-2.5*N+2:M-1.5.*N+1) = x(length(x):-1:1);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?