欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    通信系统模型.docx

    • 资源ID:16266781       资源大小:355.71KB        全文页数:17页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    通信系统模型.docx

    1、通信系统模型通信系统模型信源信号源函数 Signal Sources randerr - Generate bit error patterns. randint - Generate matrix of uniformly distributed random integers. randsrc - Generate random matrix using prescribed alphabet. seqgen.pn - Generate pseudorandom noise sequences (See also: SEQGEN objects).wgn - Generate white

    2、Gaussian noise.以randsrc (1,10,0 1;0.5 0.5)为例产生1*10的0、1矩阵,0、1出现的概率均为0.5;此外Matlab产生随机数:randrand(n):生成0到1之间的n阶随机数方阵rand(m,n):生成0到1之间的mn的随机数矩阵randnrandn()命令是产生白噪声的,白噪声应该是0均值,方差为1的一组数;同rand有randn(n),randn(m,n)rand是0-1的均匀分布,randn是均值为0方差为1的正态分布randintrandint(m,n,1 N):生成mn的在1到N之间的随机整数矩阵,其效果与randint(m,n,N+1)

    3、相同。Matlab随机数生成函数:betarnd 贝塔分布的随机数生成器 binornd 二项分布的随机数生成器 chi2rnd 卡方分布的随机数生成器 exprnd 指数分布的随机数生成器 frnd f分布的随机数生成器 gamrnd 伽玛分布的随机数生成器 geornd 几何分布的随机数生成器 hygernd 超几何分布的随机数生成器 lognrnd 对数正态分布的随机数生成器 nbinrnd 负二项分布的随机数生成器 ncfrnd 非中心f分布的随机数生成器 nctrnd 非中心t分布的随机数生成器 ncx2rnd 非中心卡方分布的随机数生成器 normrnd 正态(高斯)分布的随机数生

    4、成器 poissrnd 泊松分布的随机数生成器 raylrnd 瑞利分布的随机数生成器 trnd 学生氏t分布的随机数生成器 unidrnd 离散均匀分布的随机数生成器 unifrnd 连续均匀分布的随机数生成器 weibrnd 威布尔分布的随机数生成器Matlab取整:(1)fix(x) : 截尾取整. fix( 3.12 -3.12)ans = 3 -3(2)floor(x):不超过x 的最大整数.(高斯取整) floor( 3.12 -3.12)ans = 3 -4(3)ceil(x) : 大于x 的最小整数 ceil( 3.12 -3.12)ans = 4 -3(4) round (x

    5、) :四舍五入取整 round(3.12 -3.12)ans = 0 round(3.12 -3.12)ans = 3 -3信源编译码信源编码函数(效果:提高有效性、降低可靠性,信道编码相反)Source Coding arithdeco - Decode binary code using arithmetic decoding. arithenco - Encode a sequence of symbols using arithmetic coding. compand - Source code mu-law or A-law compressor or expander. dpcm

    6、deco - Decode using differential pulse code modulation. dpcmenco - Encode using differential pulse code modulation. dpcmopt - Optimize differential pulse code modulation parameters. Huffmandeco - Huffman decoder. huffmandict - Generate Huffman code dictionary for a source with known probability mode

    7、l. huffmanenco - Huffman encoder. lloyds - Optimize quantization parameters using the Lloyd algorithm.quantiz - Produce a quantization index and a quantized output value.以霍夫曼编码为例:letters = 1:6; % Distinct symbols the data source can producep = .5 .125 .125 .125 .0625 .0625; % Probability distributio

    8、ndict,avglen = huffmandict(letters,p); % Get Huffman code.sig = randsrc(1,20,letters; p) % Create data using p = huffmanenco(sig,dict) % Encode the data.deco = huffmandeco(comp,dict) % Decode the encoded signal.equal = isequal(sig,deco) % Check whether the decoding is correct.调制解调Digital Modulation/

    9、Demodulation(数字调制/解调函数)dpskmod - Differential phase shift keying modulation.dpskdemod - Differential phase shift keying demodulation.fskmod - Frequency shift keying modulation.fskdemod - Frequency shift keying demodulation.genqammod - General quadrature amplitude modulation.genqamdemod - General qua

    10、drature amplitude demodulation.modnorm - Scaling factor for normalizing modulation output.mskmod - Minimum shift keying modulation.mskdemod - Minimum shift keying demodulation.oqpskmod - Offset quadrature phase shift keying modulation.oqpskdemod - Offset quadrature phase shift keying demodulationpam

    11、mod - Pulse amplitude modulation.pamdemod - Pulse amplitude demodulation.pskmod - Phase shift keying modulation. pskdemod - Phase shift keying demodulation. qammod - Quadrature amplitude modulation.qamdemod - Quadrature amplitude demodulation.以BPSK为例:x=0 1 0 1 1 0 1 1;scatterplot(pskmod(x,2,0);%Bpsk

    12、调制并画星座图,初始相位为0pskdemod(pskmod(x,2,0),2);%解调s=(x*2-1);%BPSK调制c=(s0); %BPSK解调以QPSK为例:function ModulateSignal=QPSKModulate(SignalData)data=SignalData;for jdata=1:size(data,1) m=1; for idata=1:size(data,2)/2 %QPSK modulation packet(1:2)=data(jdata,2*idata-1),data(jdata,2*idata); if packet=0,0 symbol(jda

    13、ta,m)=i; elseif packet=0,1 symbol(jdata,m)=1; elseif packet=1,0 symbol(jdata,m)=-1; elseif packet=1,1 symbol(jdata,m)=-i; end m=m+1; end;endModulateSignal=symbol;信道编译码卷积码及维特比译码(2,1,3)卷积码function ConvolutionalCode,Trellis=ConvolutionalEncoding(SourceCode)%该函数实现(2,1,3)卷积编码%其中SourceCode为要编码的原始序列%Convol

    14、utionalCode为编好的码字%Trellis为网格表示% zjm% Version 1.00% 2010-11-25% %第一个参数为约束长度。第二个参数为输入说出关系Trellis=poly2trellis(3,7 5);%(2,1,3)卷积码的网格表示,g1=1 1 1;g2=1 0 1; ConvolutionalCode=convenc(SourceCode,Trellis);%卷积编码function DecodedCode=ConvolutionalDecoding(EncodedCode)%该函数实现(2,1,3)卷积译码%其中EncodedCode为要译码的序列%Deco

    15、dedCode为译好的码字% zjm% Version 1.00% 2010-11-25% Trellis=poly2trellis(3,7 5);%(2,1,3)卷积码网格表示 DecodedCode=vitdec(EncodedCode,Trellis,3,trunc,hard);%维特比译码,硬判决分组码: x=encode(1 0 1 1,7,4,hamming); y=decode(x,7,4,hamming);信道瑞利(莱斯)衰落信道复数信号:瑞利衰落信道(Rayleigh fading channel)是一种无线电信号传播环境的统计模型。这种模型假设信号通过无线信道之后,其信号幅

    16、度是随机的,即“衰落”,并且其包络服从瑞利分布。在无线通信信道环境中,电磁波经过反射折射散射等多条路径传播到达接收机后, 总信号的强度服从瑞利分布。 同时由于接收机的移动及其他原因, 信号强度和相位等特性又在起伏变化, 故称为瑞利衰落。两个正交高斯噪声信号之和的包络服从瑞利分布。单输入单输出系统Rayleigh衰落信道可以建模为:y=hx+n;其中h=(randn+jrandn)/sqrt(2);h=(randn(1,10)+i*randn(1,10)/sqrt(2);产生幅值均值为1,服从瑞利分布1*10的矩阵。实数信号:在matlab中rayleigh信道的随机数可以由random函数或者

    17、raylrnd产生,归一化之后为h=raylrnd(1,1,10) /sqrt(pi/2);h=random(rayl,1,1,10)/sqrt(pi/2);产生均值为1,服从瑞利分布1*10的矩阵瑞利分布是赖斯分布的特例当发送端到接收端没有一条直射路径的信道是瑞利信道,有一条的是莱斯信道Rice分布的随机变量h可以建模为h = 直射分量 +rayleigh随机变量首先确定K因子,即直射分量(常数)与rayleigh随机变量的能量比K = 直射分量能量/rayleigh能量根据信道归一化要求E|h|2 = 1,h可以归一化为如下所示:h = sqrt(K/(K+1) + sqrt(1/(K+1

    18、) * rayleigh随机变量。根据上式产生信道增益即可。h = rayleighchan(ts,fd,td,pd);h = ricianchan(ts,fd,k);其中ts是信道的采样周期,fd为多普勒频移、td为各径时延组成的矢量、pd为各径衰减组成的矢量;k是rician分布中的k因子。通过上述命令和对应参数即可获得需要的rayleigh信道或rician信道,采用y = filter(h,x),即可将信道的影响加在输入的数据x上。AWGN信道:MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号

    19、中加入高斯白噪声。1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。 y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。 y = wgn(m,n,p,imp,state) 重置RANDN的状态。在数值变量后还可附加一些标志性参数: y = wgn(,POWERTYPE) 指定p的单位。POWERTYPE可以是dBW, dBm或linear。线性强度(linear power)以瓦特(Watt)为单位。 y = wgn(,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是rea

    20、l或complex。To generate a 1-by-10 vector of complex noise with power of 3 Watts across a 75 Ohm load, use:Y = WGN(1, 10, 3, 75, linear, complex);2. AWGN:在某一信号中加入高斯白噪声 y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。 y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER

    21、为measured,则函数将在加入噪声之前测定信号强度。y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。 y = awgn(,POWERTYPE)指定SNR和SIGPOWER的单位。POWERTYPE可以是dB或linear。如果POWERTYPE是dB,那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是linear,那么SNR作为比值来度量,而SIGPOWER以瓦特为单位。To cause AWGN to measure the power of X, set RANDN to the 1234th state and ad

    22、d noise to produce a linear SNR of 4, use:X = sqrt(2)*sin(0:pi/8:6*pi);Y = AWGN(X,4,measured,1234,linear);注释 1. 分贝(decibel,dB):分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个能量之间的差别的一种表示单位,它不是一个绝对单位。例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电平的单位通常就以分贝表示,即事先取一个电压或电流作为参考值(0dB),用待表示的量与参考值之比取对数,再乘以20作为电平的分贝数(功率的电平值改乘10)。

    23、2. 分贝瓦(dBW, dB Watt):指以1W的输出功率为基准时,用分贝来测量的功率放大器的功率值。 3. dBm (dB-milliWatt):即与1milliWatt(毫瓦)作比较得出的数字。 0 dBm = 1 mW 10 dBm = 10 mW 20 dBm = 100 mW 也可直接用randn函数产生高斯分布序列,例如:程序代码y=randn(1,2500); y=y-mean(y); %减去均值y=y/std(y); %除以标准差a=0.0128; %均值b=sqrt(0.9596);%标准差 y=a+b*y;%=zjmwolf=%1) rand产生的是0,1上的均匀分布的随

    24、机序列2) randn产生均值为0,方差为1的高斯随机序列,也就是白噪声序列;%=%也就是说,可以直接使用上面两个函数对原始信号添加噪声(例如y=x+rand(length(x),1)或者y=x+randn(length(x),1))事实上,无论是wgn还是awgn函数,实质都是由randn函数产生的噪声。即,wgn函数中调用了randn函数,而awgn函数中调用了wgn函数。下面就我熟悉的“向已知信号添加某个信噪比(SNR)的高斯白噪声”来说明一下,不过如果大家阅读过awgn的实现代码就不用看下去了,呵呵。从上述可知,这个任务可以使用awgn函数实现,具体命令是:awgn(x,snr,mea

    25、sured,linear),命令的作用是对原信号f(x)添加信噪比(比值)为SNR的噪声,在添加之前先估计信号f的强度。这里涉及三个问题:在awgn这个函数中,SNR是如何计算的?什么是信号的强度?awgn函数具体是如何添加噪声的?事实上,前两个问题是相关的,因为根据定义,SNR就是信号的强度除以噪声的强度,所以,首先来讲讲信号的强度。其实信号的强度指的就是信号的能量,在连续的情形就是对f(x)平方后求积分,而在离散的情形自然是求和代替积分了。在matlab中也是这样实现的,只不过多了一个规范化步骤罢了:sigPower = sum(abs(sig(:).2)/length(sig(:)这就是

    26、信号的强度。至此,SNR的具体实现也不用多说了(注:由于采用的是比值而非db,所以与下面“计算信噪比”所使用的方式不同,即没有求对数步骤)。最后说说awgn函数具体是如何添加噪声的。事实上也很简单,在求出f的强度后,结合指定的信噪比,就可以求出需要添加的噪声的强度noisePower=sigPower/SNR。由于使用的是高斯白噪声即randn函数,而randn的结果是一个强度为1的随机序列(自己试试sum(randn(1000,1).2)/1000就知道了,注意信号的长度不能太小)。于是,所要添加的噪声信号显然就是:sqrt(noisePower)*randn(n,1),其中n为信号长度。误

    27、码率计算%This programme shows how to caculate the BER%author:zjm%date:2011.3.17%txData is transmit data which is a 1*1000 matrix with 0,1 randomly%rxData is receive data which is a 1*1000 matrix with 0,1 ralated with txData%BER is the bit error rate%SNR=10;clear;clc;dataLength=100000;maxSNR=20;for SNR=1

    28、:maxSNR txData=round(rand(1,dataLength); rxData=round(awgn(txData,SNR); errorNo=sum(xor(txData,rxData); BER(SNR)=errorNo/dataLength;endsemilogy(1:maxSNR,BER,r-*);例1、 信源及卷积编译码附件1卷积2、 假定某系统采用了跳频和简单编码(7,4)汉明码,该码的生成矩阵为:采用BPSK调制,试计算存在跳频和不存在跳频时的误码率。一个交织器将每个符号映射到交替变化的频率上(有7个可用频率)。每个频率上都存在彼此独立的瑞利衰落。假设接收机采用硬

    29、判决译码。使用matlab画出误码率作为平均SNR函数的曲线。修改程序如下:%-chap.18,prob2 -clear all;N=100000; %Transmit N symbols at each SNRBF_length=7; %assuming block fading with correlation time of 7 symbolsfor iSNR=1:11 snr(iSNR)=iSNR-1;%SNR in dB %-Coding and BPSK Modulation N0/2=1 for AWGN- A=sqrt(2*(10(snr(iSNR)/10); din=randint(1,N);%Source ,original signal x x=encode(di


    注意事项

    本文(通信系统模型.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开