2.用命令行方式对信号woman2.mat进行二维图像延拓程序如下: >>load woman2; >> whos; >> subplot(2,4,1); >> image(X); >> colormap(map); >> Xzpd=wextend('2','zpd',X,100); >> subplot(2,4,2); >> image(Xzpd); >> Xzpdl=wextend('2','zpd',X,100,'l'); >> subplot(2,4,3); >> image(Xzpdl); >> Xzpdr=wextend('2','zpd',X,100,'r'); >> subplot(2,4,4); >> image(Xzpdr); >> Xsym=wextend('2','sym',X,100); >> subplot(2,4,5); >> image(Xsym); >> Xsyml=wextend('2','sym',X,100, 'l'); >> subplot(2,4,6); >> image(Xsyml); >> Xsymr=wextend('2','sym',X,100, 'r'); >> subplot(2,4,7); >> image(Xsymr); 运行结果如下:
实验三名称:一维离散小波变换 实验目的 在Matlab中用采用图形接口和命令行两种方式进行单尺度小波分解重构和多尺度小波分解重构 实验内容: 1. 对信号noissin分别采用图形接口和命令行两种方式进行单尺度小波分解重构和多尺度小波分解重构层数为4,并显示各层低频高频图形,加以比较。 2. 定义信号f(t)?sin(8?t)?sin(12?t)?sin(58?t),并用命令行方式对该信号进行单尺度小波分解重构和多尺度小波分解重构层数为3。 1. 1)用图形接口方式对信号noissin进行单尺度小波分解重构,结果如下: 2)用命令行方式对noissin进行单尺度小波分解重构和多尺度小波分解重构 单尺度小波分解重构程序: >> load noissin; >> s=noissin (1:1000); >> [cA1,cD1]=dwt(s,'sym2'); >> A1=upcoef('a',cA1,'sym2',1); >> D1=upcoef('d',cD1,'sym2',1); >> subplot(4,1,1);plot(s);title('原始信号') >> subplot(4,1,2);plot(A1);title('低频') >> subplot(4,1,3);plot(D1);title('高频') >> s0=idwt(cA1,cD1,'sym2'); >> subplot(4,1,4);plot(s0);title('重构信号') 运行结果如下: 3) 多尺度小波分解重构程序: >> s0=idwt(cA1,cD1,'sym2'); >> [C,L]=wavedec(s,4,'sym2'); >> cA5=appcoef(C,L,'sym2',4); >> A4=wrcoef('a',C,L,'sym2',4); >> D1=wrcoef('d',C,L,'sym2',1); >> D2=wrcoef('d',C,L,'sym2',2); >> D3=wrcoef('d',C,L,'sym2',3); >> D4=wrcoef('d',C,L,'sym2',4); >> figure(2); >> subplot(4,1,1);plot(A4);title('第四层低频') >> subplot(4,1,2);plot(D4);title('第四层高频') >> subplot(4,1,3);plot(D3);title('第三层高频') >> subplot(4,1,4);plot(D2);title('第二层高频') >> subplot(4,1,5);plot(D1);title('第一层高频') >> figure(3); >> s1=waverec(C,L,'sym2'); >> subplot(3,1,1);plot(s);title('原始信号') >> subplot(3,1,2);plot(s1);title('重构信号') >> subplot(3,1,3);plot(s-s1);title('误差信号') 运行结果如下: 2.用命令行方式对信号f(t)?sin(8?t)?sin(12?t)?sin(58?t)进行单尺度小波分解重构和多尺度小波分解重构。 1)单尺度小波分解重构程序: >> syms t;