信道仿真编程
① 求一个MATLAB信道仿真的实例
无线信道?
高斯白噪声信道还行
n=randn(1,1000);%高斯白噪声
x=rand(1,1000)%[-1,1]上均匀分布
for i=1:1000
if (x(i)>0.5) or (x(i)==0.5)
x(i)=1;
elseif x(i)<0.5
x(i)=0;
end;
end;%0与1均匀出现的信号
y=x+n;
e=0;
for i=1:1000
if (y(i)>0.5) or (y(i)==0.5);
y(i)=1;
elseif y(i)<0.5;
y(i)=0;%判决
end;
if y(i)~=x(i);
e=e+1;%误码次数
end;
end;
P=e./1000;%误码率
还有什么判决门限都可以修改的
自己按这个修改就可以了
② 如何用Matlab实现高斯信道仿真
Tz是要输入的信号,然后通过下面代码对它加上方差为0.2,均值为0的高斯噪声
len=length(Tz);
std_val=0.2;
m=std_val*randn(1,len);%加入高斯噪声
Tz=Tz+m;
③ MIMO无线信道模型的matlab仿真源程序
我最近下载了一个WINNER II的MIMO信道模型,你可以去看一下,有点复杂,不过文件比较全,其中D1.1.2 是信道模型的说明。网址:www.ist-winner.org/deliverables.html ; 源代码及说明可以再这个网址里找到:www.ist-winner.org/phase_2_model.html
源程序里面有帮助文件,解释了函数的用处,我建议多考虑输入输出,注意函数要干什么而不要太纠结于函数的具体。
④ BSC信道仿真
声音空洞
这景色黑暗而荒芜
仿佛有不详哈哈的东西
在暗处潜伏着
夜是个舞者
在夜与清晨之间的
⑤ 用Matlab实现AWGN信道仿真
function recieve=awgnchan(transmit,snr,offset)
noise_trans=awgn(transmit,snr,'measured'); %经过高斯白噪声信道
%noise_trans=transmit; %不加噪声
for i=1:length(noise_trans) %给信号加频偏
recieve(i)=noise_trans(i)*exp(1j*2*pi*i*offset);
end
⑥ 如何用MATLAB进行无线信道仿真
matlab自带了一个mimo信道的模块,在block simulink里,这个简短不了;
部分参考如下:
SNR=0; %定义信噪比为0HZ
A=10^(SNR/10); %信噪比的单位转换关系式
Im=eye(1); %这里的"1"为发射天线和接收天线两者数目少的根数
sum=0; %初始化sum为0
for i=1:10000 %程序循环10000次
H=randn(1,4); %产生高斯信号源
Q=H*H'; %求威沙特矩阵
sum=sum+log2(det(Im+A*Q/4)); %10000次循环得到的信道容量总和
end
C=sum/10000 %10000次循环的平均值
⑦ 求matlab来仿真无线信道的程序
是要高斯噪声和频率的关系函数吗?
⑧ 我想问一下,OFDM信道估计用matlab仿真怎么设计啊具体流程我不太懂,有没有高手给我讲下流程啊
你好 希望可以帮到你
%本程序用于OFDM基本原理仿真
%数据调制采用QPSK
clear all; clc;
%*****************参数设置部分**********************
SNR=10; %信噪比取值,dB为单位
fl=128; %设置FFT长度
Ns=6; %设置一个帧结构中OFDM信号的个数
para=128; %设置并行传输的子载波个数
gl=32; %设置保护时隙的长度
%***************发送端部分*************************
Signal=rand(1,para*Ns*2)>0.5; %产生0,1随机数列,符号个数为para*2*Ns
%for i=1:para
%for j=1:Ns*2
% SigPara(i,j)=Signal(i*j); 错误的,作者是傻X
%串并转换,将随机产生的二进制矩阵变换为行数为para,列数为2*Ns的矩阵
%end
%end
SigPara=reshape(Signal,para,2*Ns);
%***********进行QPSK数据调制,将数据分为两个通道**************
for j=1:Ns
ich(:,j)=SigPara(:,2*j-1);
qch(:,j)=SigPara(:,2*j);
end
kmod=1./sqrt(2);
ich1=ich.*kmod;
qch1=qch.*kmod;
x=ich1+qch1.*sqrt(-1); %产生复信号
y=ifft(x); %通过傅里叶反变换,将频域数据转换为时域数据
ich2=real(y); %I信道取变换后的实部
qch2=imag(y); %I信道取变换后的虚部
%*******************插入保护间隔*******************
ich3=[ich2(fl-gl+1:fl,:);ich2];
qch3=[qch2(fl-gl+1:fl,:);qch2];
%******************并串转换*********************
ich4=reshape(ich3,1,(fl+gl)*Ns);
qch4=reshape(qch3,1,(fl+gl)*Ns);
%*****************形成复数发射数据***************
TrData=ich4+qch4.*sqrt(-1);
ReData=awgn(TrData,SNR,'measured');
%接收端 移去保护时隙
idata=real(ReData);
qdata=imag(ReData);
idata1=reshape(idata,fl+gl,Ns);
qdata1=reshape(qdata,fl+gl,Ns);
idata2=idata1(gl+1:gl+fl,:);
qdata2=qdata1(gl+1:gl+fl,:);
%********FFT*****************
Rex=idata2+qdata2*sqrt(-1);
ry=fft(Rex);
ReIchan=real(ry);
ReQchan=imag(ry);
ReIchan=ReIchan/kmod;
ReQchan=ReQchan/kmod;
%*******QPSK逆映射*********
for j=1:Ns
RePara(:,2*j-1)=ReIchan(:,j);
RePara(:,2*j)=ReQchan(:,j);
end
ReSig=reshape(RePara,1,para*Ns*2);
%符号抽样判决
ReSig=ReSig>0.5;
figure
subplot(2,1,1)
stem(ReSig(1:1000))
legend('输出数据')
grid
subplot(2,1,2)
stem(Signal(1:1000))
legend('输入数据')
grid
%end of script file
⑨ 几个问题关于Matlab编写BPSK信号通过AWGN信道的仿真(在线跪求大神,不胜感激)!!!
求一份完整的Matlab编写BPSK信号通过AWGN信道仿真过程的程序。最好能有注释。在线求啊 主程序部分: %programm 3-1 %bpsk.m % % Simulation program
⑩ 无线通信仿真用哪些程序或软件
一般都用Matlab中的Simulink做无线通信的仿真。Matlab命令栏中输入“simulink”(不输入引号)。其中,在左面列出的库中有Communications Blockset,可以在新建文档中拖入模块,如信道,调制方式,CRC校验,编码方式等等,进行系统级的仿真。
祝学习愉快!