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

📄 goley.m

📁 这个程序是用格雷-RM编码法抑制峰均功率比的matlab仿真程序
💻 M
字号:
%****************格雷编码法********************
%**********************************************
%-----------------------------------------------------------------------

%copyright Ray 2007
clc;
clear all;
input=randint(1,13000);
G0=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1];	%G为Goley生成矩阵
G1=[0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1;
    0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1;
    0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1;
    0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1];
G2=[0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1;
    0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1;
    0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1;
    0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1;
    0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1;
    0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1];
pe=[1 0 0 1 0 1;
    1 0 0 0 1 1;
    0 1 0 0 1 1;
    0 1 0 1 1 0;
    0 0 1 1 1 0;
    0 0 1 1 0 1;
    1 1 0 0 0 1;
    1 0 1 0 0 1];
G=[G0;G1;G2];
n=1000;                             %进行1000次的仿真    
len=length(input);
n=len/13;
peak_power=zeros(1,n);
mean_power=zeros(1,n);
par=zeros(1,n);
block=zeros(1,8);               	%每一个block的长度
tribit=zeros(1,3);
blockout=zeros(1,11);
for j=1:n
    block=input(j*13-12:j*13); 		%1次取13个符号
    tribit=block(11:13);            %将13个符号的末尾3位提取出来
    s=bi2de(tribit,'left-msb')+1;	%将提取出来的三位数字转换成10进制
    for k=1:5                       %将陪集中的前十位每两位组成4进制数
    bi=block(2*k-1:2*k);
    de(k)=bi2de(bi,'left-msb');
    end
    blockout(1:5)=de(1:5);           
    blockout(6:11)=pe(s,:);           %将陪集与前五位的值组合成新的block
    freq=mod(blockout*G,2);
    for m=1:length(freq)
        if freq(m)==0
            freq2(m)=1;
        elseif freq(m)==1
            freq2(m)=-1 ;
        
        end
    end          
    freq3=[freq2(1:8),zeros(1,240),freq2(9:16)];
    stime=ifft(freq3,256);
    Signal_Power=abs(stime.^2);
    peak_power(j)=max(Signal_Power);
    mean_power(j)=mean(Signal_Power);
    par(j)=10*log10(peak_power(j)/mean_power(j));
end
    
j=1:n;
plot(j,par(j));

⌨️ 快捷键说明

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