信号在自由空间传播损耗的变化--fspl

一、自由空间路径损耗,引起的信号变化理论公式表达

由信号传播表现为信号延时,并且信号损耗,信号能量变小。
在这里插入图片描述

二、信号传输示例

思路:

分两步求信号的变化,一是此时信号的幅度,二是信号的相位。
幅度由路径损耗公式得到,相位由距离除以波长得到。具体计算为:
(1)由公式在这里插入图片描述
求出路径损耗,原来幅度乘以损耗,即为现在幅度;

(2)由传播路程R,求出传播到目标时的相位,即为 2pi(距离/波长);同时,如果运动,还应考虑多普勒频移造成的相位变化。

补充:求当时延不满足采样时间的整数倍时,对其信号进行变采样处理。具体方法为:对由上述两个步骤得到的信号进行按比例分解。
(1)由传播路程R,求出传播时延 t,为t=R/c,c为光速;
(2)由采样率fs,得到采样点数为 n=t*fs; 此时n 不为整数,分为整数部分和小数部分。此时把上述信号分为两部分,比例为 小数部分:(1-小数部分);然后再完成整数部分的时延,即把此时的信号后延整数部分采样点。
此时,便完成了信号级的自由空间传播处理。

关键代码:

% pIdx 为路径 Id
% x 为待传播信号,propdistance 为传播路径长度;
% lambda 为波长,plossfactor 为路径损耗;
% rspeed 为运动速度,propdelay 为传播时延,Fs为采样频率。
  y(:,colidx) = exp(-1i*2*pi*k*propdistance(pIdx)/lambda)/plossfactor(pIdx)*...
                        bsxfun(@times,x(:,colidx),...
                               exp(1i*2*pi*k*rspeed(pIdx)/lambda*(propdelay(pIdx)+(0:size(x,1)-1)'/Fs)));     

% dsp.VariableFractionalDelay   
  function [xbuf_in,ndelay] = computeDelayedSignal(obj,x,delay) 
 % For between sample delays, compute nDelay and frac
 % delay the signal
 intd = fix(delay);
fracd = delay-intd; % in samples
% flush state, at most 1 sample
  ndelay = intd;
xbuf_in = step(obj.cFractionalDelayFilter,x,fracd);
        end        
  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值