产生m序列的matlab程序

需要n=6的103和147的m序列matlab程序,并且做自相关函数和互相关函数图,解释每段程序的意思。... 需要n=6的 103和147的m序列matlab程序,并且做自相关函数和互相关函数图,解释每段程序的意思。 展开
 我来答
小翼101
2013-07-05
知道答主
回答量:1
采纳率:0%
帮助的人:2.5万
展开全部
function [m]=mxu(cn)
cn=[1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1]; %cn为移位寄存器,从左向右由小到大
an=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1] ; %初始寄存器内容
len=length(an); %所需的移位寄存器的长度
L=2^len-1; %m序列的长度
an=[zeros(1,len-1),1];%初始寄存器内容,zeros矩阵函数
m=zeros(1,L)%提速
m(1)=an(1); %m序列的第一个输出码元
for i=2:L
an1(1:len-1)=an(2:len);%移位
an1(len)=mod(sum(cn.*an),2);%寄存器与反馈的模2和
an=an1;%移位后的寄存器
m(i)=an(1);%新的寄存器输出
end
one_num=sum(m,2);
zero_num=L-one_num;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%画饼图
num=[one_num zero_num];%输入数据
name={'1的概率','0的概率'};%输入标签
name1={'1的数量','0的数量'};%标题
bili=num/L;
percent=round(bili*100000000000000000)/100;%计算百分比
percent=num2str(percent');%转化为字符型
percent=cellstr(percent);%转化为字符串数组
biaoti=num2str(num');%转化为字符型
biaoti=cellstr(biaoti);%转化为字符串数组
%在每个标签后加2个空格
for i=1:length(name)
name(i)={[name{i},blanks(2)]};
end
bfh=cellstr(repmat('%',length(num),1));%创建百分号字符串数组
c=strcat(name,percent',bfh');
bt=strcat(name1,biaoti');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%饼图
figure(1);
pie(num,c)
title(bt);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%画波形图
figure(2);
%subplot(3,1,2)
stairs(m)%对m序列绘图
xlabel('n');
ylabel('y');
title('m序列');
%%%%%%%%%%%%%%%%%%%%%%自相关函数由于阶数大所以运行时间久
%求自相关函数
%rho=zeros(1,L);
%bwb=zeros(1,L)
%xg=2*m-1; %变为双极性序列,1对应1,0对应-1
%for j=0:L-1
% bwb=[xg(1+j:L),xg(1:j)];
% rho(j+1)=sum(m.*bwb);
%end
%j=-L+1:L-1;%调整自相关图像显示的横坐标范围
%rho=[fliplr(rho(2:L)),rho];
%figure(3)
%plot(j,rho);
%axis([-L L -0.1 1.2]);%设置横纵坐标范围
%title('m序列的自相关函数');
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式