ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ZC序列 DMRS Hls 仿真学习

2021-11-04 19:06:36  阅读:217  来源: 互联网

标签:ifft DMRS Hls 频域 ZC length RA figcnt 时域


clc;clear;close all;
%% 0、fft
test = fft(ones(1,10));%[10,0....0]
%% 1、对称函数
% 若函数y=f(x)关于直线x=a对称(当a=0时即关于y轴对称),则f(a+x)=f(a−x),反之亦成立
t = 0:0.1:2*pi;
figcnt=0;
f = sinc(t);
figcnt = figcnt+1;
figure(figcnt);
plot(t,f,'r');
grid minor;

hold on;
t1=-1*t;%%%对称函数的方法!!
f1 = sinc(t1);
plot(t1,f1,'g');
hold off;
%% 2、zc序列相关性仿真
%------------------zc序列产生------------------
% prach parameter
L_RA = 839;
u = 20;
u2 = 21;
x_u = zeros(1,L_RA);
x_u2 = zeros(1,L_RA);
Cv = 100;

%zc 序列
for i = 0:1:L_RA-1
    x_u(i+1) = exp(-1i*pi*u*i*(i+1)/L_RA);
end

%不同根序列
for i = 0:1:L_RA-1 
    x_u2(i+1) = exp(-1i*pi*u2*i*(i+1)/L_RA);
end

%相同根序列不同循环移位
x_uv = zeros(1,L_RA);
for i = 0:1:L_RA-1
    x_uv(i+1) = x_u(mod(i+Cv,L_RA)+1);%序列值不变,进行了循环移位(0点位置变了)
end

%加噪声
x_u = x_u + randn(1,length(x_u));
x_uv = x_uv + randn(1,length(x_uv));
x_u2 = x_u2 + randn(1,length(x_u2));

%------------------序列运算------------------
% zc序列fft仍然是zc序列.上面的序列即可认为是时域,又可认为是频域:
%   1、看做时域时,可以直接在时域做相关,也可根据相关->卷积<->共轭乘->ifft求相关。
%   2、看做频域时,直接共轭乘->ifft求相关
% 相关,最终看的是时域。

%-------1、把上面的序列看做时域
%时域->频域->共轭乘->ifft
f1 = fft(x_u).* conj(fft(x_u+x_uv));%频域侧计算时,先转到频域。多UE
f1_ifft = ifft(f1);

figcnt = figcnt+1;
figure(figcnt);
subplot(4,1,1);
plot((0:length(f1_ifft)-1), abs(f1_ifft), 'b');
xlabel('Time');ylabel('Amplitude');title('时域数据,转频域求相关');
grid minor;

%时域直接相关
f2 = xcorr(x_u,x_u+x_uv);

subplot(4,1,2);
plot((0:length(f2)-1), abs(f2), 'g');
xlabel('Time');ylabel('Amplitude');title('时域数据,直接求相关');
grid minor;

%-------2、把上面的序列看做频域
f3 = x_u.* conj(x_u);%频域侧计算时,先转到频域。多UE

subplot(4,1,3);
plot((0:length(f3)-1), abs(ifft(f3)), 'r');
xlabel('Time');ylabel('Amplitude');title('频域数据,共轭乘后ifft求相关');
grid minor

%-------不同序列,取其中一种情况:看做时域
f4 = fft(x_u).*conj(fft(x_u2));
f4_ifft = ifft(f4);

subplot(4,1,4);
plot((0:length(f4_ifft)-1), abs(f4_ifft), 'r');
xlabel('Time');ylabel('Amplitude');title('不同μ时域数据,转频域求相关');
grid minor
%% 3、LS
A = 1;%信道幅度
k = 0:0.01:2;%频域
X = A*exp(1i*2*pi.*k);%本地DMRS=发端DMRS
N = randn(1,length(k));%noise
Y = X + N;
Hls = Y.*conj(X);%如果没有噪声的话,结果全1

figcnt = figcnt+1;
figure(figcnt);
plot((0:length(Hls)-1),abs(ifft(Hls)),'r');
xlabel('Time');ylabel('Amplitude');title('Hls');
grid minor;

hold on;
t_corr=xcorr(ifft(Y),ifft(X));
plot((0:length(t_corr)-1),abs(t_corr),'g');
hold off;

标签:ifft,DMRS,Hls,频域,ZC,length,RA,figcnt,时域
来源: https://blog.csdn.net/zzx1012151040/article/details/121148914

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有