补全空缺代码%%%%%%%%%%%%%%%%%% %请勿修改 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 12:02:18 浏览: 80
在此代码中,需要补全以下两个部分:
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
```
相关问题
1、下面代码是求1-1000的所有完全数,请补全空缺代码。完全数就是所有因子(包括1但不包括该数本身)的和等于该数。例如:完全数28=1+2+4+7+14
下面是求1-1000的所有完全数的代码:
```python
for i in range(1, 1001):
factors = []
for j in range(1, i):
if i % j == 0:
factors.append(j)
if sum(factors) == i:
print(i)
```
输出结果为:
```
6
28
496
```
利用Java编码,下面代码是求1-1000的所有完全数,请补全空缺代码。完全数就是所有因子(包括1但不包括该数本身)的和等于该数。例如:完全数28=1+2+4+7+14
下面是求1-1000的所有完全数的Java代码:
```java
for (int i = 1; i <= 1000; i++) {
ArrayList<Integer> factors = new ArrayList<Integer>();
for (int j = 1; j < i; j++) {
if (i % j == 0) {
factors.add(j);
}
}
int sum = 0;
for (int factor : factors) {
sum += factor;
}
if (sum == i) {
System.out.println(i);
}
}
```
输出结果为:
```
6
28
496
```
阅读全文