提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

LTE学习理解系列——PSS和SSS序列定点化

  • 前言
  • PSS 定点化
  • SSS 定点化

前言

此文的作用在于我做定点化matlab仿真以及FPGA功能仿真用,简单明了,不一定对所有人有用,因此不做过多解释

PSS 定点化

3个PSS序列量化成8bit,注意虚部预先取了负,方便后面计算

close all;
clear all;
clc;cell_id0=0;
cell_id1=1;
cell_id2=2;
PssSymbol0=PssSymbolGen128(cell_id0);
PssSymbol1=PssSymbolGen128(cell_id1);
PssSymbol2=PssSymbolGen128(cell_id2);% -127~127之间
PssSymbol0_fix = round(PssSymbol0 *2^8*5.3773);
PssSymbol1_fix = round(PssSymbol1 *2^8*5.3773);
PssSymbol2_fix = round(PssSymbol2 *2^8*5.3773);q1 = real(PssSymbol0_fix);
q2 = -imag(PssSymbol0_fix);q3 = real(PssSymbol1_fix);
q4 = -imag(PssSymbol1_fix);q5 = real(PssSymbol2_fix);
q6 = -imag(PssSymbol2_fix);width = 8;I=find(q1<0);
q1(I) = 2^width +q1(I);
I=find(q2<0);
q2(I) = 2^width +q2(I);I=find(q3<0);
q3(I) = 2^width +q3(I);
I=find(q4<0);
q4(I) = 2^width +q4(I);I=find(q5<0);
q5(I) = 2^width +q5(I);
I=find(q6<0);
q6(I) = 2^width +q6(I);%-------------------------------------------------------fid=fopen('my_pss_u25_real.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:127fprintf(fid,'%02X,\n',q1(k));
end
for k=128:128fprintf(fid,'%02X;\n',q1(k));
end
fclose(fid);%-------------------------------------------------------fid=fopen('my_pss_u25_imag.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:127fprintf(fid,'%02X,\n',q2(k));
end
for k=128:128fprintf(fid,'%02X;\n',q2(k));
end
fclose(fid);%-------------------------------------------------------fid=fopen('my_pss_u29_real.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:127fprintf(fid,'%02X,\n',q3(k));
end
for k=128:128fprintf(fid,'%02X;\n',q3(k));
end
fclose(fid);%-------------------------------------------------------fid=fopen('my_pss_u29_imag.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:127fprintf(fid,'%02X,\n',q4(k));
end
for k=128:128fprintf(fid,'%02X;\n',q4(k));
end
fclose(fid);%-------------------------------------------------------fid=fopen('my_pss_u34_real.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:127fprintf(fid,'%02x,\n',q5(k));
end
for k=128:128fprintf(fid,'%02x;\n',q5(k));
end
fclose(fid);%-------------------------------------------------------fid=fopen('my_pss_u34_imag.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:127fprintf(fid,'%02x,\n',q6(k));
end
for k=128:128fprintf(fid,'%02x;\n',q6(k));
end
fclose(fid);

SSS 定点化

3组168个SSS序列量化成4bit,并且IQ合并在一起,注意虚部预先取了负,方便后面计算

close all;
clear all;
clc;SssSymbol0_test(1:128*168) = 0;
SssSymbol1_test(1:128*168) = 0;
SssSymbol2_test(1:128*168) = 0;
for t = 0:1:167SssSymbol0_test(1+t*128:128+t*128)=SssSymbolGen128(t,0,0);
SssSymbol1_test(1+t*128:128+t*128)=SssSymbolGen128(t,1,0);
SssSymbol2_test(1+t*128:128+t*128)=SssSymbolGen128(t,2,0);
endSssSymbol0_test_fix = round(SssSymbol0_test*38.991);
SssSymbol1_test_fix = round(SssSymbol1_test*38.991);
SssSymbol2_test_fix = round(SssSymbol2_test*38.991);q1 = real(SssSymbol0_test_fix);
q2 = -imag(SssSymbol0_test_fix);q3 = real(SssSymbol1_test_fix);
q4 = -imag(SssSymbol1_test_fix);q5 = real(SssSymbol2_test_fix);
q6 = -imag(SssSymbol2_test_fix);width = 4;I=find(q1<0);
q1(I) = 2^width +q1(I);
I=find(q2<0);
q2(I) = 2^width +q2(I);q12 = q1*(2^width) + q2;I=find(q3<0);
q3(I) = 2^width +q3(I);
I=find(q4<0);
q4(I) = 2^width +q4(I);q34 = q3*(2^width) + q4;I=find(q5<0);
q5(I) = 2^width +q5(I);
I=find(q6<0);
q6(I) = 2^width +q6(I);q56 = q5*(2^width) + q6;%-------------------------------------------------------fid=fopen('my_sss_iq0.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:128*168-1fprintf(fid,'%02X,\n',q12(k));
end
for k=128*168:128*168fprintf(fid,'%02X;\n',q12(k));
end
fclose(fid);%-------------------------------------------------------fid=fopen('my_sss_iq1.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:128*168-1fprintf(fid,'%02X,\n',q34(k));
end
for k=128*168:128*168fprintf(fid,'%02X;\n',q34(k));
end
fclose(fid);%-------------------------------------------------------fid=fopen('my_sss_iq2.coe','w');
fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\r\n');
fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\r\n');for k=1:128*168-1fprintf(fid,'%02X,\n',q56(k));
end
for k=128*168:128*168fprintf(fid,'%02X;\n',q56(k));
end
fclose(fid);

LTE学习理解系列——PSS和SSS序列定点化相关推荐

  1. LTE学习理解系列——TDD LTE信源指定时隙配比设置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LTE学习理解系列--TDD LTE信源指定时隙配比设置 前言 详细配置 结语 前言 目前暂时关注时隙配比的设置,因为每一种时隙配比可 ...

  2. LTE学习理解系列——TDD-LTE的TA、GP、TDD开关、覆盖范围、拉远距离的更深入理解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LTE学习理解系列--TDD-LTE的TA.GP.TDD开关.覆盖范围.拉远距离的更深入理解 前言 TA.GP 为什么需要所有终端的上 ...

  3. LTE学习理解系列——利用matlab工具生成4G LTE信源

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LTE学习理解系列--利用matlab工具生成4G LTE信源 前言 LTE工具箱的使用 直接使用函数 生成信源的采样率 总结 前言 ...

  4. 5G NR学习理解系列——NR小区搜索的matlab仿真

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--NR小区搜索的matlab仿真 前言 信源生成 降采样 PSS和SSS本地序列生成 相关结果 前言 既然已经 ...

  5. 5G NR学习理解系列——MATLAB5G信源的生成之SSB参数配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--MATLAB5G信源的生成之SSB参数配置 前言 SSB参数的位置 SSB参数详细解释 信号时频图 总结 前 ...

  6. 5G NR学习理解系列——时频结构及相关概念

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--时频结构 频段 工作带宽 信道带宽 子载波间隔(SCS) SLOT长度 OFDM符号时长 采样点时长 无线帧 ...

  7. 5G NR学习理解系列——利用matlab工具生成5G NR信源

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--利用matlab工具生成5G NR信源 前言 NR工具箱的使用 直接使用代码 前言 既然发现了4G LTE ...

  8. LTE学习-PSS主同步信号

    以下内容来自sharetechnote LTE学习 PSS主同步信号 PSS的生成算法 不同PSS之间的互相关 PSS与其相移后的互相关 PSS与其叠加噪声后的互相关 SSS次同步信号 SSS的生成算 ...

  9. NR SSB概述 - PSS/SSS序列及PBCH

    NR中小区ID的与LTE中的一样,都由和决定,其中 ,  , 那么小区ID. 1. PSS,SSS PSS和SSS都是长度为127的序列,通过PSS同步获得及时间位置信息,从而获得SSS的位置,根据S ...

最新文章

  1. JPA学习---第五节:日期和枚举等字段类型的JPA映射
  2. CKedit在线编辑器
  3. 客户端相关知识学习(五)之什么是webView
  4. 史上最详细的js日期正则表达式分享
  5. 乞力马扎罗山 海明威_我如何对海明威编辑器(一种流行的写作应用程序)进行反向工程,并从泰国的海滩上构建了自己的数据库
  6. 让 ASP.NET AJAX 支持浏览器的 History Navigation - Part 1
  7. 综述 | 知识图谱技术综述(上)
  8. NPM 常用命令和参数的意思
  9. Xshell6 安装包下载
  10. (总结归纳)常用电子元件,封装,库
  11. 支付宝第三方登录集成文档
  12. 计算机数值数据编码(原码,反码,补码,移码)
  13. 感性电路电流计算_电路分析基础(10)-电路以及信号的功率和能量
  14. 微信公众号运营辅助工具汇总
  15. WeRateDog---分析推特数据
  16. java自定义环境变量
  17. viroblast搭建blast网页
  18. wow盗号木马事件前后
  19. Qt实现中国象棋:(七)悔棋
  20. 用python制作好玩的游戏_太好玩了!我用 Python 制作一款小游戏!

热门文章

  1. Machine Learning 梳理总结 L0~L6
  2. 因特网提供的基本服务的计算机,因特网能提供的最基本服务有哪些
  3. 浅析无符号整型和有符号整型
  4. C++有符号和无符号整型
  5. Docker 学习2
  6. Python小练习 - python编写巨简单的闹钟功能
  7. SAP MTS案例教程目录2022
  8. eclipse使用lombok注解不起作用
  9. MTK RIL 调试方式
  10. PostgreSQL9.4: jsonb 性能测试 - Postgres2015全国用户大会--重磅嘉宾佳作分享(谭峰)