LTE学习理解系列——PSS和SSS序列定点化
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
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序列定点化相关推荐
- LTE学习理解系列——TDD LTE信源指定时隙配比设置
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LTE学习理解系列--TDD LTE信源指定时隙配比设置 前言 详细配置 结语 前言 目前暂时关注时隙配比的设置,因为每一种时隙配比可 ...
- LTE学习理解系列——TDD-LTE的TA、GP、TDD开关、覆盖范围、拉远距离的更深入理解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LTE学习理解系列--TDD-LTE的TA.GP.TDD开关.覆盖范围.拉远距离的更深入理解 前言 TA.GP 为什么需要所有终端的上 ...
- LTE学习理解系列——利用matlab工具生成4G LTE信源
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 LTE学习理解系列--利用matlab工具生成4G LTE信源 前言 LTE工具箱的使用 直接使用函数 生成信源的采样率 总结 前言 ...
- 5G NR学习理解系列——NR小区搜索的matlab仿真
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--NR小区搜索的matlab仿真 前言 信源生成 降采样 PSS和SSS本地序列生成 相关结果 前言 既然已经 ...
- 5G NR学习理解系列——MATLAB5G信源的生成之SSB参数配置
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--MATLAB5G信源的生成之SSB参数配置 前言 SSB参数的位置 SSB参数详细解释 信号时频图 总结 前 ...
- 5G NR学习理解系列——时频结构及相关概念
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--时频结构 频段 工作带宽 信道带宽 子载波间隔(SCS) SLOT长度 OFDM符号时长 采样点时长 无线帧 ...
- 5G NR学习理解系列——利用matlab工具生成5G NR信源
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 5G NR学习理解系列--利用matlab工具生成5G NR信源 前言 NR工具箱的使用 直接使用代码 前言 既然发现了4G LTE ...
- LTE学习-PSS主同步信号
以下内容来自sharetechnote LTE学习 PSS主同步信号 PSS的生成算法 不同PSS之间的互相关 PSS与其相移后的互相关 PSS与其叠加噪声后的互相关 SSS次同步信号 SSS的生成算 ...
- NR SSB概述 - PSS/SSS序列及PBCH
NR中小区ID的与LTE中的一样,都由和决定,其中 , , 那么小区ID. 1. PSS,SSS PSS和SSS都是长度为127的序列,通过PSS同步获得及时间位置信息,从而获得SSS的位置,根据S ...
最新文章
- JPA学习---第五节:日期和枚举等字段类型的JPA映射
- CKedit在线编辑器
- 客户端相关知识学习(五)之什么是webView
- 史上最详细的js日期正则表达式分享
- 乞力马扎罗山 海明威_我如何对海明威编辑器(一种流行的写作应用程序)进行反向工程,并从泰国的海滩上构建了自己的数据库
- 让 ASP.NET AJAX 支持浏览器的 History Navigation - Part 1
- 综述 | 知识图谱技术综述(上)
- NPM 常用命令和参数的意思
- Xshell6 安装包下载
- (总结归纳)常用电子元件,封装,库
- 支付宝第三方登录集成文档
- 计算机数值数据编码(原码,反码,补码,移码)
- 感性电路电流计算_电路分析基础(10)-电路以及信号的功率和能量
- 微信公众号运营辅助工具汇总
- WeRateDog---分析推特数据
- java自定义环境变量
- viroblast搭建blast网页
- wow盗号木马事件前后
- Qt实现中国象棋:(七)悔棋
- 用python制作好玩的游戏_太好玩了!我用 Python 制作一款小游戏!