matlab幼苗识别,数字信号识别

该博客通过MATLAB实现数字信号的识别,包括2ASK、2FSK、2PSK、4ASK、4FSK和4PSK信号的调制与解调,并通过BP神经网络进行信号类型判断,评估了不同信号类型的识别率。
摘要由CSDN通过智能技术生成

clear all;

close all;

echo off;

fc=20000; %载波频率

fs=40000; %采样速率

k=2;

code_size=15*round(k*fs/fc); %信息码元长度

t0=5.5; %信号长度

Ns=256; %采样点个数

fd=200; %符号速率

ts=1/fs; %采样周期

M=64 %码元个数

ti=1/fd; %码元间隔

N=ti/ts

t=[0:ts:t0];

select=menu('调制方式','2ASK','2FSK','2PSK','4ASK','4FSK','4PSK');

switch select

case 1, % 2ASK signal

x=randint(1,M);

m=sin(2*pi*fc*t);

y=ones(1,M*N);

for i=1:M

for j=1:N

y((i-1)*N+j)=x(i)*m(j);

end

end

T=zeros(6,50);

T(1,1:50)=1;

case 2, %2FSK signal

x=randint(1,M);

m1=sin(2*pi*fc*t);

m2=sin(2*pi*2*fc*t);

y=zeros(1,M*N);

for i=1:M

if x(i)==1;

for j=1:N;

y((i-1)*N+j)=x(i)*m1(j);

end

elseif x(i)==0;

for j=1:N;

y((i-1)*N+j)=(1-x(i))*m2(j);

end

end

end

T=zeros(6,50);

T(2,1:50)=1;

case 3, %2PSK signal,

x=randint(1,M);

m1=sin(2*pi*fc*t);

m2=sin(2*pi*fc*t+pi);

y=zeros(1,M*N);

for i=1:M

if x(i)==1;

for j=1:N;

y((i-1)*N+j)=x(i)*m1(j);

end

elseif x(i)==0;

for j=1:N;

y((i-1)*N+j)=(1-x(i))*m2(j);

end

end

end

T=zeros(6,50);

T(3,1:50)=1;

case 4, % 4ASK signal

x=randint(1,M,4);

m=sin(2*pi*fc*t);

y=ones(1,M*N);

for i=1:M

if x(i)==0;

for j=1:N

y((i-1)*N+j)=x(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值