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

📄 corrcoef.m

📁 本程序实现随机数的产生和在相同调制方式下功率谱比较
💻 M
字号:
%--随机产生一信号序列其相邻信号自相关系数为0.2
%--随机产生一信号序列其相邻信号自相关系数为0.2
n=randn(1,200);                          %--n为高斯白噪声                        
a=zeros(1,200);
a(1,1)=n(1,1);
for i=2:200                              %--信号序列用高斯白噪声序列表示
    a(1,i)=n(1,i)+0.2*a(1,i-1);
end
c=zeros(1,200);                        
for i=1:199                              %--信号序列进行移位操作
    c(1,i)=a(1,i+1);
end
c(1,200)=0;
d=corrcoef(a,c);                         %--验证a,c的互相关系数即相邻信号的互相关系数
f=mean(a);                               %--验证信号序列的均值


%--随机产生一信号序列其相邻信号自相关系数为0.8
n1=randn(1,200);                         %--n1为高斯白噪声
a1=zeros(1,200);
a1(1,1)=n1(1,1);
for i=2:200                              %--信号序列用高斯白噪声序列表示
    a1(1,i)=n1(1,i)+0.8*a1(1,i-1);
end
c1=zeros(1,200);
for i=1:199                              %--信号序列进行移位操作
    c1(1,i)=a1(1,i+1);
end
c1(1,200)=0;
d1=corrcoef(a1,c1);                      %--验证a1,c1的互相关系数即相邻信号的互相关系数
f1=mean(a1);                             %--验证信号序列的均值

%--作图所产生的两列信号
b=1:200;
figure(1)
subplot(211)
plot(b,a,'r:.')
grid on
title('series whose corrcoef is 0.2')
subplot(212)
plot(b,a1,'r:.')
grid on
title('series whose corrcoef is 0.8');
hold on;


%2.求两信号序列的自相关函数:
%--求第一组序列的自相关函数
m=zeros(1,200);
for i=0:199
    s=1;
    l=zeros(1,200);
    for j=i+1:200
        l(1,s)=a(1,j);
        s=s+1;
    end
    m(1,i+1)=a*rot90(l,-1);        %--求步长为i自相关函数值
end


%--求第二组序列的自相关函数
m1=zeros(1,200);
for i=0:199
    s1=1;
    l1=zeros(1,200);
    for j=i+1:200
        l1(1,s1)=a1(1,j);
        s1=s1+1;
    end
    m1(1,i+1)=a1*rot90(l1,-1);      %--求步长为i自相关函数值
end


%--分别作两信号序列的自相关函数图
b=1:200;
figure(2)
subplot(211)
plot(b,m,'r');
grid on
title('selfcorr figure for data whose corcoef is 0.2')
subplot(212)
plot(b,m1,'r');
grid on
title('selfcorr figure for data whose corcoef is 0.8');
hold on;


 % 3.求两信号序列的功率普密度函数:
  %--分别求两信号序列的功率谱密度函数
A=fft(a,200);
Paa=A.*conj(A)/200;               %--第一组信号序列的功率谱密度函数
A1=fft(a1,200);
Paa1=A1.*conj(A1)/200;            %--第二组信号序列的功率谱密度函数
f=1000*(0:100)/200;               %--频域采样,分辨率5Hz
figure(3)
subplot(211)
plot(f,Paa(1:101),'r')
title('Frequency content for signal1')
xlabel('frequency (Hz)')
grid on
subplot(212)
plot(f,Paa1(1:101),'r')
title('Frequency content for signal2')
xlabel('frequency (Hz)')
grid on;

⌨️ 快捷键说明

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