补全空缺代码%%%%%%%%%%%%%%%%%% %请勿修改 warning('off','all'); graphics_toolkit('gnuplot') %%%%%%%%%%%%%%%%%% pkg load communications %对误码率进行初始化 ber=zeros(10,9); for t=1:10%做10次Monte-Carlo num=100;%信源序列点数为10000 %产生信源序列souce souce=randi(2,num)-1;%用randi函数产生随机的01比特流,长度为len len=length(souce)*length(souce); %将信源进行BPSK调制,信息存储在singal中 signal=[]; %%%%%%%%% Begin %%%%%%%%% %%%%%%%%% End %%%%%%%%% %将信号通过高斯信道,信噪比为0:8dB snr=0:8; for i=1:length(snr) N(i)=power(10,-snr(i)/10)/2;%计算噪声功率 n=sqrt(N(i))*randn(size(signal)); r=signal+n; %采用最大似然检测算法对接收信号r进行判决,完成BPSK信号解调 %%%%%%%%% Begin %%%%%%%%% %%%%%%%%% End %%%%%%%%% %计算仿真误码率 for j=1:len if(souce(j)~=y(j)) ; ber(t,i)=ber(t,i)+1; end end ber(t,i)=ber(t,i)/len; end end bern=mean(ber); snrn=power(10,snr/10); q=qfunc(sqrt(2*snrn));%计算理论误码率 %画图 semilogy(snr,bern,'-',snr,q,'+') grid on xlabel('Es/No(dB)'); ylabel('Bit Error Rate'); title('Monte-Carlo Simulation of BPSK Signal Demodulation Involving AWGN '); legend('Simulation Result of Bit Error Rate ','Bit Error Rate in Theory '); bern=(round(bern*100))./100 %用于生成图像请勿修改 sa=pwd; print(1,'-djpeg','./step1/picture/stu_picture.jpg'); %run('./test1.m'); %system('python3 ./test1.py');
时间: 2024-02-06 08:02:18 浏览: 24
在此代码中,需要补全以下两个部分:
1. 将信源进行BPSK调制,信息存储在signal中。
```
%将信源进行BPSK调制,信息存储在signal中
signal = 1 - 2 * souce;
```
2. 采用最大似然检测算法对接收信号r进行判决,完成BPSK信号解调。
```
%采用最大似然检测算法对接收信号r进行判决,完成BPSK信号解调
y = zeros(1, len);
for j = 1:len
if r(j) > 0
y(j) = 0;
else
y(j) = 1;
end
end
```
相关问题
使用sql写出一串代码实现,对一组数字排序,并取数字从大到小排列,排名0%到5%,排名5%到30%,排名30%到100%的数字分层
"null" 是一个英文单词,表示空值、无效或空缺的意思。在计算机科学中,null通常用于表示一个变量或对象没有被赋值,或者表示一个函数没有返回值。在某些编程语言中,null也可以表示一个空的集合或数组。
df["bucket_offline"] = df['qq'].apply(lambda x:BKDRHash(x[:28], 7) % 2 + 1) #bucket_num为这一层的分桶数
null是一个表示空值或不存在的数据类型,通常用于程序中表示某个变量或对象没有被赋值或初始化。在计算机科学中,null是一个特殊值,表示空或空缺,与零或空字符串不同。null也可以用于表示一个函数没有返回值。在Java、JavaScript等编程语言中,null是一个关键字,用于表示空对象或空指针。