1. 求 PN 序列并极化(给定初始序列[1 0 0 0 0 0]),c(n)代表序列第 n 个值,c(0)代表 c(N)
function cout=c(L,n)head=[[1 0 0 0 0 1],%[6,1][1 1 0 0 1 1],%[6,5,2,1][1 0 0 1 1 1]];%[6,5,4,1]head_L=logical(head(L,:));cc=[1 0 0 0 0 0];c_t=[];N=63;n=mod(n,N);if(n==0)n=n+N;endfor i=1:n-1temp=cc(head_L);c_t(1)=mod(sum(temp),2);c_t(2:6)=cc(1:5);cc = c_t;endif(cc(6)>0)cout = 1;elsecout = -1;end
  1. 求相关函数,Rc1(L1,L2)是指求 L1 抽头和 L2 抽头的互相关函数,L1=L2 则为自相关函数
    L1:[6,1]

    L2:[6,5,2,1]

    L3:[6,5,4,1]

function [Tao,RC]=Rc1(L1,L2)
Rc=[];
Rc_T=0;
tao=-50:50;
for(i=-50:50)for t=-31:31Rc_T =Rc_T+c(L1,t)*c(L2,t-i);endRc(i+51)=Rc_T/63;Rc_T=0;
end
Tao=tao;
RC=Rc;
plot(tao,Rc);
  1. 实际计算相关函数
%%计算自相关函数
%[6,1]
[tao,Rc61]=Rc1(1,1);%Rc1是求相关函数,(1,1)则是[6,1]的自相关函数
%[6,5,2,1]
[tao,Rc6521]=Rc1(2,2);
%%计算互相关函数
[tao,cross1]=Rc1(1,2);%Rc1是求相关函数,(1,2)则是[6,1]和[6,5,2,1]的互相关函数
[tao,cross2]=Rc1(2,3);
figure(1);
subplot(1,3,1);plot(tao,Rc61);title("[6,1]的自相关函数");xlabel("τ");ylabel("Rc(τ)");
subplot(1,3,2);plot(tao,Rc6521);title("[6,5,2,1]的自相关函数");xlabel("τ");ylabel("Rc(τ)");
subplot(1,3,3);plot(tao,cross1*63);axis([-60 60 -20 20]);title("[6,1]和[6,5,2,1]的互相关函数");xlabel("τ");ylabel("Rc(τ)");
figure(2);
plot(tao,cross2*63);axis([-60 60 -20 20]);title("[6,5,4,1]和[6,5,2,1]的互相关函数");xlabel("τ");ylabel("Rc(τ)");
display(max(abs(cross1)*63));
display(max(abs(cross2)*63));

输出结果:


这是数字通信课程的一道编程作业题,这里求相关函数采用的是循环,还有很大优化空间,要注意的是序列周期延拓各个下标的值怎么映射到原始序列,这其实就是一个求模的过程,这里互相关函数figure2最大值为15,figure1最大值为17,figure2中两个抽头产生的PN序列可用来产生gold序列,他们的互相关函数不会超过
2(n+1)/2+1(n为奇数)2^{(n+1)/2}+1\,(n为奇数) 2(n+1)/2+1(n为奇数)
2(n+2)/2+1(n为偶数)2^{(n+2)/2}+1\,(n为偶数) 2(n+2)/2+1(n为偶数)

PN序列的产生以及相关函数的计算相关推荐

  1. matlab计算PN序列的本原多项式

    gfprimfd %计算N阶序列的本原多项式 gfprimdf %计算N阶序列的默认本原多项式 ---------------------- 如下程序计算所有8阶的本原多项式 x=gfprimfd(8 ...

  2. matlab产生伪随机码,MATLAB实现伪随机码的生成及相关函数的计算

    1.伪随机码的生成及相关函数的计算院系:信息学院专业:通信工程姓名: 王卓席倩薛珈萍(1)函数ms_generator(registers,connections)是m序列的生成函数,其中参数regi ...

  3. verilog代码风格——PN序列产生代码

    在编写Verilog代码时注意以下点: 1 .同一个模块中不同变量的赋值放在不同的always块里(这样可以便于程序的调试),一个always块的代码        尽量不要超过十行. 2.同一个变量 ...

  4. 有一分数序列: 输入正整数n,计算该数列前n项的和。

    有一分数序列: 输入正整数n,计算该数列前n项的和. #include <stdio.h>int main() {int n,i,j;double sum = 0.0,a;printf(& ...

  5. 用相关函数法计算信号的延迟量

    在信号处理领域中,我们经常会用到自相关函数和互相关函数,例如利用自相关函数在语音信号处理中提取基音频率,又例如常利用互相关函数提取两接收信号之间的时间延迟.一般是用线性相关函数,但用FFT方法可快速计 ...

  6. c语言混沌序列,混沌时间序列的C-C法计算太阳黑子月度数据的tau和tw与书上的不同,咋么办?...

    %C-C法子函数 function [Smean,Sdeltmean,Scor,tau,tw]=C_CMethod(data,max_d)               %原理参考:吕金虎-混沌时间序列 ...

  7. 基于DCT变换和PN序列的数字水印嵌入和提取matlab仿真

    目录 一.理论基础 二.核心程序 三.仿真测试结果 作者ID :fpga和matlab CSDN主页:https://blog.csdn.net/ccsss22?type=blog 擅长技术: 1.无 ...

  8. Excel函数-日期相关函数(计算间隔日期)

    1. 1 计算间隔年/月/日的日期 1.1 EDATE函数 EDATE函数用于指定某个日期N月之后或是N月之前的日期. 用法为:EDATE(开始日期,指定月份) 1.2 具体应用:计算转正日期 如下图 ...

  9. 序列的自相关和互相关计算

    -- Ref [1] [2] [3] ------------------------------------------------------------------------ 1.自相关和互相 ...

  10. c语言复数序列求自相关,序列的自相关和互相关计算

    -- Ref [1] [2] [3] ------------------------------------------------------------------------ 1.自相关和互相 ...

最新文章

  1. Python2 与 Python3 共存,pip2 与 pip3 共存切换设置
  2. 视障人士体验自动驾驶:携导盲犬登车,未来有望“自己开”
  3. Rails测试《一》fixtures简介
  4. 如果沟通有范式,它会是怎么样子?
  5. Snort里如何将读取的包记录存到指定的目录下(图文详解)
  6. kotlin学习笔记——Kotlin Android Extensions
  7. 第一篇|腾讯开源项目盘点:WeUI,WePY,Tinker,Mars等
  8. 前端学习(1732):前端系列javascript之插入内容
  9. 面试官系统精讲Java源码及大厂真题 - 25 整体设计:队列设计思想、工作中使用场景
  10. 2017年“达内杯”台州学院第十届大学生程序设计竞赛 非官方题解
  11. Excel学习系列(1)--以文本存储的数字转换为数字
  12. windows搭建Qt源码编译、调试环境
  13. ~杂记(3):los_dispatch.s和startup.s的作用分析
  14. java MP4视频压缩
  15. 压缩感知(compressed sensing)的通俗解释
  16. 数据库可移植性重要吗?
  17. 淘宝创始人的创业经历_我们如何说服创始人天使投资于我们的开发人员工具创业公司...
  18. 【增加苏宁】2020双十一淘宝领喵币+京东全名营业+支付宝+苏宁の自动化任务
  19. 水晶报表插件下载地址
  20. 使用java中Scanner,Randon,ArrayList完成一个随机点名系统

热门文章

  1. FLUENT_V6.1.22 3CD (正式商业版)
  2. R语言meta包的预后meta分析复现
  3. 【Python56--爬取妹子图】
  4. Day 32 processthreading_4
  5. 现代通信原理思维导图--第二章 确知信号
  6. BT种子结构及bencoding编码解析
  7. Android Theme.AppCompat 和 ThemeOverlay.AppCompat
  8. 备考OCJP认证知识点总结(四)
  9. SQL注入(SQL注入(SQLi)攻击)攻击-脱库
  10. 【金万维】天联高级版客户端打开U8报错:未监听端口