clear all;
close all;
clc;
load 'binome18.mat'
load 'bp18.mat'
Fs=100;
M = 2^8;
freq=linspace(0,1,M)*Fs;
figure
plot(freq,abs(fft(Strbbr,M)));
xlabel 'Freqency(R)'
title('原始信号');
zero=zeros(1000,1);
Strbbr=[Strbbr;zero];
%we add some zeros in the signal to cancel the filter delay.
%PART1:Interference Rejection
carrierfrq= 9;
signal18=filter(bp18,Strbbr); %the filter length is 464
signal18_=signal18(232:end);%remove the filter delay
figure
plot(freq,abs(fft(signal18_,M)));
title('带阻滤波器信号');
%Part 2: Find back the baseband signal
time=(-0.01:0.01:455.67);
T1=cos(2*pi*carrierfrq*time);
I1=signal18_.*T1.';
T2=-sin(2*pi*carrierfrq*time);
Q1=signal18_.*T2.';
figure
subplot(2,1,1);
plot(freq,abs(fft(Q1,M)));
title('滤波前I Part');
subplot(2,1,2);
plot(freq,abs(fft(Q1,M)));
title('滤波前Q Part');
load 'lowpass.mat'
I2=filter(lowpass,I1);
Q2=filter(lowpass,Q1);
I3=I2(253:end); %remove the filter delay
Q3=Q2(253:end);
figure
subplot(2,1,1);
plot(freq,abs(fft(I3,M)));
title('滤波后Q Part');
subplot(2,1,2);
plot(I3);
xlabel '0.01 Ts'
title('滤波后Q Part');
figure
subplot(2,1,1);
plot(freq,abs(fft(Q3,M)));
title('滤波后I Part');
subplot(2,1,2);
plot(Q3);
xlabel '0.01 Ts'
title('滤波后I Part');
%Part 3:matched filter
load 'Cercle.mat' %we guess the cercle filter is reshaping filter
figure
plot(h,'r')
h=h(end:-1:1);
I4 = conv(h,I3);
Q4 = conv(h,Q3); %this the matched filter
figure
subplot(2,1,1);
plot(freq,abs(fft(Q4,M)));
title('I Part after using matched filter ');
subplot(2,1,2);
plot(Q4);
title('I Part after using matched filter ');
% sampling the signal and draw constellation
ind = 100:100:448*100;
xconst = (I4(ind) + 1i*Q4(ind));
figure
plot(xconst, 'xg'); grid on
%Part 4:Error Correcting Code
for i = 1:length(ind)
if I4(ind(i))<0 && I4(ind(i))>-1 && Q4(ind(i))>1
m(i,:)=[0;0;0];
elseif I4(ind(i))>1 && Q4(ind(i))>1
m(i,:)=[1;0;0];
elseif I4(ind(i))<-1 && Q4(ind(i))>0
m(i,:)=[0;0;1];
elseif I4(ind(i))>0 && I4(ind(i))<1 && Q4(ind(i))>0
m(i,:)=[0;1;0];
elseif I4(ind(i))>1 && Q4(ind(i))<0
m(i,:)=[1;1;0];
elseif I4(ind(i))<0 && I4(ind(i))>-1 && Q4(ind(i))<0
m(i,:)=[0;1;1];
elseif I4(ind(i))<-1 && Q4(ind(i))<-1
m(i,:)=[1;1;1];
elseif I4(ind(i))>0 && Q4(ind(i))<-1
m(i,:)=[1;0;1];
end
end
n = 6;
k = 3;
G = [1 0 0 0 1 0;
0 1 0 1 0 1 ;
0 0 1 1 1 1];
C=reshape(m,[1344/n,n]);
% find H
G1 = G(:,4:6);
G3 = eye(3);
H = [G1;G3];
H1 = H';
dec_info = 0:7;
info_tab = de2bi(dec_info',3);
coded_info_tab = mod(info_tab*G,2);
Hamming_weight = sort(sum(coded_info_tab'),'ascend');
dmin = Hamming_weight(2);
p=floor((dmin-1)/2);
finil = C(:,1:3);
data = reshape(finil',1,[])';
Result=bit2char(data)
matlab科研助手
- 粉丝: 3w+
- 资源: 5991
最新资源
- 基于灰狼算法的路径规划算法matlab代码,求解常见的路径规划问题 内含算法的注释,模块化编程,新手小白可快速入门 GWO算法,路径规划算法
- 双馈风力发电机-900V直流混合储能并网系统MATLAB仿真 MATLAB2016b 主体模型: 双馈感应风机模块、采用真实风速数据 混合储能模块、逆变器模块、转子过电流保护模块、整流器控制模块、逆
- (Matlab)EMD-GRU、GRU时间序列预测对比 基于EMD-GRU的时间序列预测模型,提高功率预测精度,提出一种经验模态分解(EMD)和门控循环单元(GRU)相结合的功率预测模型 首先利用E
- 腾讯云AI代码助手编程挑战赛-图片转换工具示例视频
- 2025年新春新年祝福素材模板.pptx
- 考虑柔性负荷的综合能源系统日前优化调度模型 关键词:柔性负荷 需求响应 综合需求响应 日前优化调度 综合能源系统 参考文档:《考虑用户侧柔性负荷的社区综合能源系统日前优化调度》参考柔性负荷和基础模型
- 经典怀旧老学同聚会活动模板.pptx
- 中学老同学聚会活动策划方案模板素材怀旧版.pptx
- Products_Sale_System.zip
- 双馈风力发电系统matlab simulink仿真,附带详细分析资料,新能源发电系统仿真
- fabric.js v6.5.4 源码
- 并离网逆变器仿真模型 逆变器PQ控制,Vf控制,无功能量发生器SVG,有源电力滤波器APF仿真模型
- 前端vue学习资料+html+css
- 网络助手工具(亲测好用)
- 百度百科网页设计与制作html作业,纯静态html+css制作
- AHU2024年漏洞分析考试
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈