⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucadata_huang.m

📁  ?  bpsk信号的产生可用与仿真的输入信号
💻 M
字号:
function Y =ucadata2(azimuth,elevation,P,N,sig2,mk)
% Generates N snapshots of ULA sensor data
% Y=ucadata(theta,P,N,sig2,m,d);
%    theta  <- arrival angles of the m sources in degrees
%    P      <- The covariance matrix of the source signals
%    N      <- number of snapshots to generate
%    sig2   <- noise variance
%    m      <- number of sensors
%    d      <- sensor spacing in wavelengths 
%    Y      -> m x N data matrix Y = [y(1),...,y(N)]
% generate the A matrix
% ====== data for test ======= % 
%azimuth = [ 5 20 30 ];
%elevation = [ 60 100 300 ];
%P = diag( [ 20  20 39 ] );
%N = 1000;
%sig2 = 1;
%m = 8;
% =========================== %
n = max( size( azimuth ) );
ksi = 2*pi*ones(mk, 1 )*sin( elevation*pi/180 ); % 2*1
r = 2*pi*[ 0: mk-1 ]'/mk;              % 
A = exp( j*ksi.*cos( ones(mk,1 )*azimuth*pi/180 - r*ones( 1, n) ) );
% generate the source signals
Ns = max( size( P ) );
s = zeros(N,Ns);    
for m = 1:Ns
    if m == 1
         [s1,am] = anaask(N,64,0.15);  % Amplitude Shift Keying (ASK) signal
         s(:,m) = sqrt(0.5)*(s1+j*s1);
    elseif m == 2
         [s2,bm] = anabpsk(N,64,0.02);
         s(:,m) = sqrt(0.5)*(s2+j*s2);
     elseif m == 3
         [s3,ifl] = anafsk(N,64,0.05); 
         s(:,m) = sqrt(0.5)*(s3+j*s3);
     elseif m == 4
         [s4,pm] = anaqpsk(N,64,0.03); 
         s(:,m) = sqrt(0.5)*(s4+j*s4);
     else
         [s5,fm] = fmlin(N,0.05,0.3,50);
         s(:,m) = sqrt(0.5)*(s5+j*s5);
     end
 end
sw = s.';
s = ( sqrtm( P )') * sw ;    
%generate the noise component
e = sqrt( sig2/2 )*( randn(mk, N ) + j*randn(mk, N ) );
% generate the ULA data

%y = A*s;
%temp = zeros( size( y ) );
%J = sqrt( sig2/2 )*( imnoise( temp,'salt & pepper',1) + j*imnoise( temp,'salt & pepper',1));
%J = sqrt( sig2/2 )*( imnoise( temp,'gaussian',0,1) + j*imnoise( temp,'gaussian',0,1));
%Y = y + J;

Y = A*s + e;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -