• 大小: 10KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: 卷积混合  

资源简介

直接运行Demo文件即可,本算法案例是两源信号卷积混合,基于同一信号相邻频点能量相关的方法对频域盲源分离信号进行排序

资源截图

代码片段和文件信息

%连续波信号用基于影响因子的频域盲源分离排序算法,效果较好
clear;
clc;
%源信号,50000点采样,连续信号同时到达
Fs=100e6;%采样率
N=50000;%总共仿真500us,采样点数50000
t=[0:1/(100e6):500e-6-0.01e-6];

%s1(t)产生LFM信号,中心频率0.5M
s1=chirp(t0500e-6-0.01e-61e6‘linear‘);%产生脉冲周期序列的基础

%s2(t)BPSK信号,10位,1110010101,中心频率为0.1M,每个码元持续50us
% b1=[1 1 1 0 0 1 0 1 0 1];
% b=(b1-1)*(-pi);
% tt2=[0:1/(100e6):50e-6-0.01e-6;
%     50e-6:1/(100e6):100e-6-0.01e-6;
%     100e-6:1/(100e6):150e-6-0.01e-6;
%     150e-6:1/(100e6):200e-6-0.01e-6;
%     200e-6:1/(100e6):250e-6-0.01e-6;
%     250e-6:1/(100e6):300e-6-0.01e-6;
%     300e-6:1/(100e6):350e-6-0.01e-6;
%     350e-6:1/(100e6):400e-6-0.01e-6;
%     400e-6:1/(100e6):450e-6-0.01e-6;
%     450e-6:1/(100e6):500e-6-0.01e-6];
%     %10*5000点
% ss2=zeros(105000);
% for i=1:10
%     ss2(i:)=cos(2*pi*0.1e6*tt2(i:)+b(i));
% end
% s2=zeros(150000);
% for i=1:10
%     s2(5000*(i-1)+1:5000*i)=ss2(i:);
% end

%s3产生2FSK信号,10位1110010101,1频率0.5M,0频率0.1M
c1=[1 0 1 0 1 0 0 1 0 0];
tt3=[0:1/(100e6):50e-6-0.01e-6;
    50e-6:1/(100e6):100e-6-0.01e-6;
    100e-6:1/(100e6):150e-6-0.01e-6;
    150e-6:1/(100e6):200e-6-0.01e-6;
    200e-6:1/(100e6):250e-6-0.01e-6;
    250e-6:1/(100e6):300e-6-0.01e-6;
    300e-6:1/(100e6):350e-6-0.01e-6;
    350e-6:1/(100e6):400e-6-0.01e-6;
    400e-6:1/(100e6):450e-6-0.01e-6;
    450e-6:1/(100e6):500e-6-0.01e-6];
    %10*5000点
ss3=zeros(105000);
for i=1:10
    if c1(i)==1
        ss3(i:)=cos(2*pi*0.5e6*tt3(i:));
    else
        ss3(i:)=cos(2*pi*0.1e6*tt3(i:));
    end
end
s3=zeros(150000);
for i=1:10
    s3(5000*(i-1)+1:5000*i)=ss3(i:);
end

originalsig2=[s1;s3];
figure(1);
subplot(‘211‘);plot(ts1);axis([0500e-6-22]);title(‘s1(t)LFM信号‘);xlabel(‘t(单位s)‘);
% subplot(‘312‘);plot(ts2);axis([0500e-6-22]);title(‘s2(t)BPSK信号‘);xlabel(‘t(单位s)‘);
subplot(‘212‘);plot(ts3);axis([0500e-6-22]);title(‘s3(t)2FSK信号‘);xlabel(‘t(单位s)‘);

%混合过程,要求混合滤波器可逆,怎么做到?
Nobserv=size(originalsig21);%求行数
Nsource=Nobserv;
FilterLength=10;%10阶滤波器
H = rand(NobservFilterLengthNsource);       %random generation of the mixing filter

%卷积混合信号
mixedsig2=zeros(Nsourcesize(originalsig22));%2行采样点数
for j=1:size(originalsig21)%H行数
    for i=1:size(originalsig21)
        mixedsig2(j:)=mixedsig2(j:)+filter(H(j:i)1originalsig2(i:));
    end
end
figure(2);
subplot(‘211‘);plot(tmixedsig2(1:));axis([0500e-6-2020]);title(‘观测信号1‘);xlabel(‘t(单位s)‘);
subplot(‘212‘);plot(tmixedsig2(2:));axis([0500e-6-2020]);title(‘观测信号2‘);xlabel(‘t(单位s)‘);
% subplot(‘313‘);plot(tmixedsig2(3:));axis([0500e-6-2020]);title(‘观测信号3‘);xlabel(‘t(单位s)‘);        
%STFT变换
%window=hamming(512);
nfft=512;%nfft是做FFT变换的点数,这里取nfft=窗长
%noverlap=256;%滑动步长默认是帧长的一半
%[S1F1T1]=spectrogram(mixedsig2(1:)windownoverlapnfftFs);
%[tfr1tTF1] = tfrstft(mixedsig2(1:)‘tNhamming(127)0);
%[tfr1tTF1] = tfrstft(mixedsig2(1:)‘tNhamming(127));
% X_w1=specgram(x1N_frequencyFswindowoverlap)
[S1 F1 T1] = s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-12 18:58  卷积盲源分离(2 source 基于能量相关排序)\
     文件        5763  2016-06-30 15:38  卷积盲源分离(2 source 基于能量相关排序)\demo_2source.m
     文件        1886  2016-06-15 20:57  卷积盲源分离(2 source 基于能量相关排序)\istft.m
     文件        9218  2016-06-15 20:57  卷积盲源分离(2 source 基于能量相关排序)\jade.m
     文件         370  2016-09-13 23:07  卷积盲源分离(2 source 基于能量相关排序)\Rxiang.m
     文件          58  2016-06-29 10:19  卷积盲源分离(2 source 基于能量相关排序)\S.m
     文件        1625  2016-06-15 20:57  卷积盲源分离(2 source 基于能量相关排序)\stft.m
     文件         344  2016-09-11 21:25  卷积盲源分离(2 source 基于能量相关排序)\W.m
     文件         290  2016-06-15 20:57  卷积盲源分离(2 source 基于能量相关排序)\xiangsi.m

评论

共有 条评论

相关资源