⛄ 内容介绍
⛄ 部分代码
clear all;close all;clc;
xx=xlsread('负荷数据.xlsx');
M = 500;%观测值个数
N = 256;%信号x的长度
% K = 10;%信号x的稀疏度
a1=0.2;a2=0.4;a3=0.6;a4=0.8;
s1=30;
x = xx(1:N,1);
Psi = eye(N);%x本身是稀疏的,定义稀疏矩阵为单位阵x=Psi*theta
Phi1 = randn(M,N)/sqrt(M);%测量矩阵为高斯矩阵
A1 = Phi1 * Psi;%传感矩阵
y1 = Phi1 * x;%得到观测向量y
Phi2 = randn(M,N)/sqrt(M);%测量矩阵为高斯矩阵
A2 = Phi2 * Psi;%传感矩阵
y2 = Phi2 * x;%得到观测向量y
Phi3 = randn(M,N)/sqrt(M);%测量矩阵为高斯矩阵
A3 = Phi3 * Psi;%传感矩阵
y3 = Phi3 * x;%得到观测向量y
Phi4 = randn(M,N)/sqrt(M);%测量矩阵为高斯矩阵
A4 = Phi4 * Psi;%传感矩阵
y4 = Phi4 * x;%得到观测向量y
%% 恢复重构信号x
tic
theta1 = CS_SWOMP( y1,A1,s1,a1);
x_r1 = Psi * theta1; % x=Psi * theta
theta2 = CS_SWOMP( y2,A2,s1,a2);
x_r2 = Psi * theta2; % x=Psi * theta
theta3 = CS_SWOMP( y3,A3,s1,a3);
x_r3 = Psi * theta3; % x=Psi * theta
theta4 = CS_SWOMP( y4,A4,s1,a4);
x_r4 = Psi * theta4; % x=Psi * theta
toc
%% 绘图
subplot(2,2,1)
plot(x_r1,'k.-');%绘出x的恢复信号
hold on;
plot(x,'r');%绘出原信号x
title("a=0.2")
hold off;
legend('Recovery','Original')
fprintf('\n恢复残差:');
norm(x_r1-x)%恢复残差
subplot(2,2,2)
plot(x_r2,'k.-');%绘出x的恢复信号
hold on;
plot(x,'r');%绘出原信号x
title("a=0.4")
hold off;
legend('Recovery','Original')
fprintf('\n恢复残差:');
norm(x_r2-x)%恢复残差
subplot(2,2,3)
plot(x_r3,'k.-');%绘出x的恢复信号
hold on;
plot(x,'r');%绘出原信号x
title("a=0.6")
hold off;
legend('Recovery','Original')
fprintf('\n恢复残差:');
norm(x_r3-x)%恢复残差
subplot(2,2,4)
plot(x_r4,'k.-');%绘出x的恢复信号
hold on;
plot(x,'r');%绘出原信号x
title("a=0.8")
hold off;
legend('Recovery','Original')
fprintf('\n恢复残差:');
norm(x_r4-x)%恢复残差
⛄ 运行结果
⛄ 参考文献
[1] 李刚,吴潮,刘佳林,等.风电场2.4 GHz无线信道传播特 性试验方法与分析[J].测控技术,2018,37(2):25—28.
[2] 王纪章,彭玉礼,李萍萍.基于事件驱动与数据融合的温 室WSN节能传输模型[J].农业机械学报,2013,44 (12):258—261.
[3] 海蓉,张成,丁大为,等.压缩传感理论与重构算法[J]. 电子学报,2011,39(1):142—148.