
t=0:2*pi/99:Tb
cp=[]mod=[]bit=[]
for n=1:length(x)
if x(n)==0
cp1=ones(1,100)c=sin(f0*t)
bit1=zeros(1,100)
else x(n)==1
cp1=ones(1,100)c=sin(f1*t)
bit1=ones(1,100)
end
cp=[cp cp1]mod=[mod c]bit=[bit bit1]
end
fsk=cp.*mod
plot(bit,'r*:')
grid onhold on
plot(fsk,'b+:')
SNRindB1=0:1:12
SNRindB2=0:0.1:12
for i=1:length(SNRindB1)
simu_err_prb(i)=snr2ps5_11(SNRindB1(i))
end
for i=1:length(SNRindB2)
SNR=exp(SNRindB2(i)*log(10)/10)
theo_err_prb(i)=Qfunct(sqrt(SNR))
end
semilogy(SNRindB1,simu_err_prb,'*')
hold
semilogy(SNRindB2,theo_err_prb)
legend('仿真结果','理论曲线')
function [p]=snr2ps5_11(snr_in_dB)
E=1
SNR=exp(snr_in_dB*log(10)/10)
sgma=E/sqrt(2*SNR)
N=10000
for i=1:N, %产生二进制数据源
temp=rand
if (temp<0.5),
dsource(i)=0
else
dsource(i)=1
end
end
%检测、计算差错概率
numoferr=0
for i=1:N,
n0=gausamp(sgma)
n1=gausamp(sgma)
if(dsource(i)==0),
r0=E+n0
r1=n1
else
r1=E+n1
r0=n0
end
if(r0>r1),
decis=0
else
decis=1
end
if(decis~=dsource(i))
numoferr=numoferr+1
end
end
p=numoferr/N
function [y]=Qfunct(x)
y=(1/2)*erfc(x/sqrt(2))
%高斯样本的产生
function x=gausamp(sgma)
x=sqrt(sgma)*randn
%Q函数的计算
function [y]=Qfunct(x)
y=(1/2)*erfc(x/sqrt(2))
FSK(Frequeney-Shift Keying,频移键控)是用不同频率的载波来传送数字信号。FSK信号具有抗干扰能力强、传输距离远等优点,在只常生活和工业控制中被广泛采用。例如CID(Calling Identity Delivery)来电显示,低速的Modem,铁路系统和电力系统的载波通信中也广泛使用他来传送各种控制信息。以往的FSK调制解调器采用“集成电路+连线”方式设计,集成块多、连线复杂且体积较大。本文基于FPGA芯片,采用VHDL语言,利用层次化、模块化设计方法,提出了一种FSK调制解调器的实现方法。1 系统整体结构框图
本文设计的FSK调制解调器采用了ALTERA公司的EP1C3T144C8芯片,系统主时钟频率为20 MHz(芯片外部有源晶振),“0”,“1”数字信号由伪随机信号(m序列)发生器产生。为完成FSK调制器和解调器的发送与接收,由FPGA芯片完成的系统整体逻辑功能框图如图1所示。
2 系统的具体设计与实现
2.1 伪随机序列的产生
最大长度线性移位寄存器序列(m序列)是数字通信中非常重要的、应用十分广泛的一种伪随机序列。由于他具有随机性、规律性及较好的自相关性和互相关性,而且要求设备简单,易于实现,成本低的特点,本系统采用m序列作为数字基带信号进行程序调试。
m序列是由带线性反馈的移位寄存器产生的周期最长的一种二进制序列。线性反馈移位寄存器的一般结构如图2所示。他是由n级移位寄存器,若干模二加法器组成线性反馈逻辑网络和时钟脉冲产生器连接而成。
由于带有反馈,因此在移位脉冲作用下,移位寄存器各级的状态将不断变化,通常将移位寄存器的最后一级作为输出,由此所产生的输出序列为:{ak}=a0a1…ak-1。
输出序列是一个周期序列,其特性由移位寄存器的级数、初始状态、反馈逻辑及时钟频率(决定着输出码元的宽度)所决定。
当移位奇存器的级数及时钟一定时,输出序列就由移位寄存器的初始状态及反馈逻辑完全确定;当初始状态为全零状态时,移位寄存器输出全0列。因此初始状态不能为全零状态。
本系统选用m序列的级数为n=7,序列长度为m=27-1=127,若选用的反馈系数的八进制数值为235,转换成二进制数值为10011101,即c0=c2=c3=c4=c7=1,c1=c5=c6=0。仿真波形如图3所示。
2.2 FSK调制
本系统是利用2个独立的分频器来改变输出载波频率,以数字键控法来实现FSK捌制。
数字键控法也称为频率选择法,他有2个独立的振荡器,数字基带信号控制转换开关,选择不同频率的高频振荡信号实现FSK调制。键控法产生的FSK信号频率稳定度可以做到很高并且没有过渡频率,他的转换速度快,波形好,频率键控法在转换开天发生转换的瞬刚,2个高频振荡的输出电压通常不相等,于是已调信号在基带信息变换时电压会发生跳变,这种现象称为相位不连续,这是频率键控特有的情况。
本文设计的FSK调制系统方框图如图4所示。
2.3 FSK解调
过零检测法与其他解调方法相比较,最明显的特点就是结构简单,易于实现,对增益起伏不敏感,特别适用于数字化实现。他是一种经济、实用的最佳数字解调方法。其方框图如图5所示。他利用信号波形在单位时间内与零电平轴交义的次数来测定信号频率。输入的已调信号经限幅放大后成为矩形脉冲波,再经微分电路得到l圾向尖脉冲,然后整流得到单向尖脉冲,每个尖脉冲表示信号的一个过零点,尖脉冲的重复频率就是信号频率的2倍。将尖脉冲去触发一单稳态电路,产生一定宽度的矩形脉冲序列,该序列的平均分量与脉冲重复频率成正比,即与输入频率信号成正比。所以经过低通滤波器输出平均量的变化反映了输入信号的变化,这样就完成了频率-幅度变换,把码元“1”与“0”在幅度上区分开来,恢复出数字基带信号。
本文设计的FSK解调方框图如图6所示。
3 系统仿真与实验结果分析
整个设计使用VHDL编写,以EP1C3T144CS为下载的目标芯片,在Quartus II软件平台上进行布局布线后进行波形仿真,可得到如图7所示的波形图。其中:clk为输入主时钟信号;en为置位信号;clks为clk经过200分频器的输出信号;ps7为时钟源经过n=7的伪随机发生器产生的伪随机(m序列)信号;fsk为ps7经过FSK调制器后的已调信号;q为fsk经过FSK解调器后的解调信号。
在实际硬件电路上进行测试,用示波器观察各个模块的工作过程,得到如图8和图9所示的波形图。
其中,圈8中Ch1为已调信号,Ch2为数字基带信号。图9中Ch1为数字基带信号,Ch2为解调信号。
由上面的软件和硬件的测试结果可知:
(1)本系统的FSK调制解调器功能已经实观,结果正确无误,经验证满足预期的设计指标要求,且其整个工作过程可通过软件波形仿真,或是实际硬件电路通过示波器来直观、清晰观察。
(2)传统的调制解调方式可以采用软件与硬件结合的方式来实现,符合未来通信技术发展的方向。
4 结 语
传统的FSK调制解调方式都是采用硬件电路实现,电路复杂、调试不便。文中采用硬件描述语占设计的基于FPGA调制解调器,设计灵活、修改方便,有效地缩小了系统的体积,增加了可靠性,同时系统采用VHDL语言进行设计,具有良好的可移植性及产品升级的系统性。
一、nbsp来电号码显示技术的基本原理nbsp来电号码显示实际上是现代电信交换网络可以提供的一项服务业务。就其机理而言,是指交换机对用户提供来电号码专用格式的数据的传送,而用户终端利nbsp用符合数据解码格式要求的端机进行接收和显示。当交换机发出第一次振铃信号后,紧接着发出一串调制信号(现用的主要有FSK和DTMF两种格式的信号),nbsp此信号包含着拨号方的电话号码、日期、时间、姓名等信息。来电号码显示器在每一次振铃信号的唤醒下,开始接收FSK信号,经解码芯片(如Motorolanbsp的RC145447)获得其中信息,由单片机进行格式处理并在屏幕上显示出来。同样,若传输过来的是DTMF来电号码信息,只需由DTMF解码芯片来进行nbsp数据解码,即可显示DTMF的来电号码。nbsp二、nbsp电路原理及设计nbsp本文介绍的来电号码显示器以MC68HC05P1为主控单片机,控制MC145447接收符合Bell202标准的FSK信号。其中,单制式信息包括日期、时间、电话号码;复合制式信息包括日期、时间、电话号码、姓名。来电显示器可存储60个记录。nbsp1.nbsp主要功能介绍nbsp该机的主要功能有如下五个方面。nbsp1)nbsp一般CallnbspID接收显示功。CallnbspID平时处于等待状态,当电话振铃时被唤醒,进入接收状态。LCD开始显示接收到的信息。nbsp2)nbsp长途电话或私人电话批示功能。当CallnbspID接收到长途电话或私人电话时,电话号码空缺,屏幕上显示OutnbspofnbspAreanbsp(长途电话)或Private(私人电话)。nbsp3)nbspMailnbspBox指示功能。当电信局开通MailnbspBox服务项目时,CallernbspID能显示“MailnbspBox”表示有留言。nbsp4)nbsp重要号码报警功能。接收到的信息与存储器中被设置成重要号码的记录相同时,CallnbspID会发出报警音,提醒用户接听电话。nbsp5)nbsp厌恶电话的过滤功能。接收到的信息与存储器中被设置成厌恶号码的记录相同时,CallnbspID会自动模拟提机2S再挂机,使对方电话打不进来。nbsp从图中可见TI-RI为外接电话线;MC68HC05P1为主控单片机,用于控制信号的接收,信息的显示、存储,以及数据显示格式的轮换等;nbspMC145447为FSK信号的接收解码芯片;LCD202为2行╳20字符LCD显示屏;U4(24C16)为E2PROM存储器;系统使用+5V直流nbsp电源工作。nbsp当振铃信号从TI-RI输入到MC145447解芯片时,即产生中断信号,唤醒MC68HC05P1单片机。解码芯片接收FSK信号进行解码,nbsp单片机读取中期数据进行格式处理,并开启LCD显示屏,同时也接通EEPROM存储器的电源。单片机从EEPROM存储器中读取存储的电话号码,与刚接收nbsp到的信息进行比较,判断其性质,然后把结果及电话号码等信息显示在LCD显示屏上,并存储修改EEPROM存储器的内容。nbsp3.nbsp程序设计流程nbsp接收显示的程序主要以中断服务方式进行,其流程原理如nbsp三、nbsp使用方法nbspCallernbspIDnbsp来电号码显示器作为电话伴侣,与电话机简单并接即可使用,不会影响电话机的正常使用。其采用9V干电池或9——12V直流充电器供电。CalerlnbspID正常工作电流为6.8nbspmnbspA,等待状态耗电极微,如使用9V干电池供电,可连续使用3-6个月。nbsp本文介绍的来电号码显示器是单制式的,另一种同时可处理、显示不同制式的来电号码显示器正进一步开发之中。其实CallernbspIDnbsp也可以与电话机合为一体,使用同一单片机和显示屏,使电话机的功能更强。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)