clear all;
clc;
load('1-1. SAVED-2013.09.06_(426,434MHz,500ms, 430MHz-1s5s ).mat');
Y = Y1;
BW = 20e6;
fs = 25e6;
M = 300;
sparsity = 10;
N = 1024*4;
delta_t = N/fs;
delta_f = BW/N;
% N=8192;
% delta_t=317.68*10^(-6);
% delta_f=3.0518e3;
% N=2048;
% delta_f=6.1e3;
% delta_t=163.84*10^(-6);
% NumofSamples=N/64;
loop=floor(length(Y)/N);
result=zeros(sparsity,loop);
for i=1:2000
X_data=zeros(N,1);
Y_data_temp=Y(N*(i-1)+1:N*i);
[val1,pos1]=sort(rand(N,1));
index_samples=sort(pos1(1:M));
IDFT_Matrix=ifft(eye(N,N));
CS_Matrix=IDFT_Matrix(index_samples,:);
Y_data=Y_data_temp(index_samples,:);
X_index=zeros(1,sparsity);
Y_data_residual=Y_data;
CS_Matrix_col=[]; %%由CS_Matrix的列所构成的矩阵 初始化为空矩阵
product=zeros(1,N);
for loop_col=1:N
product(loop_col)=abs(dot(Y_data_residual,CS_Matrix(:,loop_col)));
end
[val product_temp] = sort(product,'descend');
pos=product_temp(1:sparsity);
CS_Matrix_col=[CS_Matrix_col CS_Matrix(:,pos)];%%记录相关性最大的列
X_data_nonzero=((CS_Matrix_col'*CS_Matrix_col)^(-1))*(CS_Matrix_col')*Y_data; %%最小二乘
Y_data_residual=Y_data-CS_Matrix_col*X_data_nonzero;
X_index=pos;%%记录X_data中非零元素的位置
X_data(X_index,1)=X_data_nonzero;
for ii=1:sparsity
if abs(X_data(X_index(ii),1))^2/N<0.1
X_index(ii)=0;
end
end
fre_eve=X_index(X_index~=0);
result([1:length(fre_eve)],i)=sort(fre_eve');
end
for loop1=1:loop
for loop2=1:10
if result(loop2,loop1)~=0
result(loop2,loop1)=(result(loop2,loop1)-0.5)*delta_f*10^(-6)+420;
end
end
end
plot([1:loop]*delta_t,result,'b.');
axis([0 5 420 440]);
data_omp.rar_作弊信号 matlab_信号检测
版权申诉
41 浏览量
2022-09-22
23:45:43
上传
评论
收藏 950B RAR 举报
weixin_42651887
- 粉丝: 80
- 资源: 1万+
最新资源
- win10-64位画图cab安装包Microsoft-Windows-MSPaint
- 基于C#财务管理系统设计与实现
- 封装redis常用基本命令.zip
- 基于python的图书推荐管理系统设计与实现
- Termius 7.13.0 (windows免登录版)
- 基于STM32F072C8T6单片机PWM波控制蜂鸣器实验软件例程 KEIL工程源码+核心板硬件PDF原理图.zip
- debian package
- Redis 命令脑图.zip
- 机器学习使用Stable Diffusion实现潜在空间搜索
- 基于Python+tkinter+MySQL的图书管理系统+设计报告+PPT(课程设计高分项目).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈