资源简介
由于MATLAB本身自带的相关函数在扩频通信中并不适合,性能欠佳。本程序是我自己编写的求自相关或互相关的MATLAB函数。可直接调用该函数。已通过验证。
代码片段和文件信息
function [my_xcorr]=myxcorr(msequence_Imsequence_Q);
% 本函数是用来求自相关函数或互相关函数的
% 输入:两个0、1序列,俩序列长度可以不一样
% 输出是自相关或互相关的值
% 将数据码变成双极性码,0->-1 1-> 1
msequence_I= (-1).^(msequence_I+1); % 将数据码变成双极性码,0->-1 1-> 1
msequence_Q= (-1).^(msequence_Q+1); % 将数据码变成双极性码,0->-1 1-> 1
Li=length(msequence_I);
Lq=length(msequence_Q);
msequence_I_new=[zeros(1Lq)msequence_Izeros(1Lq)]; % 构造新的序列
msequence_Q_new=[msequence_Qzeros(1Li+Lq)]; % 构造新的序列
Lqq=length(msequence_Q_new);
for t=1:1:Lq+Li;
msequence_Q_NEW=[zeros(1t)msequence_Q_new(1:Lqq-t)]; % 非循环右移,左边补零
out=msequence_I_new.*msequence_Q_NEW; % 对应的矩阵点乘
sumout(t)=sum(out); % 求和,计算对齐的1元素的个数
my_xcorr(t)=sumout(t)/min(LiLq); % 归一化,相关函数最大值为1
end
clear (‘t‘); % 该变量以后用不到,释放内存
clear (‘msequence_I_new‘); % 该变量以后用不到,释放内存
clear (‘msequence_Q_new‘); % 该变量以后用不到,释放内存
clear (‘msequence_Q_NEW‘); % 该变量以后用不到,释放内存
clear (‘t‘); % 该变量以后用不到,释放内存
clear (‘out‘); % 该变量以后用不到,释放内存
clear (‘sumout‘); % 该变量以后用不到,释放内存
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1508 2013-03-30 20:50 myxcorr.m
----------- --------- ---------- ----- ----
1508 1
- 上一篇:IMM交互模型
- 下一篇:canny算子matlab源代码本人亲测可用
相关资源
- canny算子matlab源代码本人亲测可用
- FRFT程序,分数阶傅里叶变换的matlab源
- 数学形态学的matlab实现
- matlab_plot函数用法
- MATLAB相机标定工具箱最新版
- 基于MATLAB的SVD水印技术
- 计算关联维数的matlab程序
- 3D模拟飞机飞行matlab版GUI
- matlab_vrp
- 流形学习的matlab实现代码mani.m绝对好
- 润滑理论的matlab求解程序包括弹流和
- 3-RPS并联平台可达工作空间MATLAB求解
- AdaBoost等MatLab代码
- matlab提取多数据txt文件
- AR模型的matlab实现
- matlab实现自己的resize()函数
- 去掉Matlab运行时的黑框
- MATLABIMM交互多模型算法交互多模型算
-
单相桥式逆变器单周期控制simuli
n - sinc加窗滤波器
- 用MATLAB产生回声的源代码
- PUMA560 matlab程序
- matlab版hog+svm图像二分类
- matlab代码,通过蒙特卡罗方法计算n维
- 基于MATLAB的眼图画法
- 复杂网络幂律分布matlab仿真程序
- 轨迹跟踪---船舶航迹控制matlab程序
- 图像质量评价matlab源代码
- LFM信号模糊函数Matlab代码
- MATLAB GUI 多界面图像处理
评论
共有 条评论