⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multipath.m

📁 无线仿真Matlab代码
💻 M
字号:
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %   Copyright (c) __year__ Ericsson Telecommunicatie B.V. %   All rights reserved. %    %   Redistribution and use in source and binary forms, with or without %   modification, are permitted provided that the following conditions %   are met: %   1. Redistributions of source code must retain the above copyright %       notice, this list of conditions and the following disclaimer. %   2. Redistributions in binary form must reproduce the above copyright %       notice, this list of conditions and the following disclaimer in the %       documentation and/or other materials provided with the %       distribution. %   3. Neither the name of Ericsson Telecommunicatie B.V. may be used %       to endorse or promote products derived from this software without %       specific prior written permission. %    %    %   THIS SOFTWARE IS PROVIDED BY ERICSSON TELECOMMUNICATIE B.V. AND %   CONTRIBUTORS "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, %   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF %   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. %   IN NO EVENT SHALL ERICSSON TELECOMMUNICATIE B.V., THE AUTHOR OR HIS %   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, %   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, %   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR %   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY %   OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT %   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE %   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. %    %    %   Contact for feedback on EURANE: eurane@ti-wmc.nl %   EURANE = Enhanced UMTS Radio Access Network Extensions %   website: http://www.ti-wmc.nl/eurane/ %%   ***************************************************************************%%   UMTS-HSDPA channel generator %              %   [omega] = omega(samples,rayleigh_fades,fD,spectrum)%%   Generate multipath fading.%   This function is called for each ray.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function [omega] = omega(samples,rayleigh_fades,fD,spectrum)% Frequency vector. fD/rayleigh_fades is fundamental frequencyf = (-samples/2:samples/2-1)*fD/rayleigh_fades;   % Prevent divide by zero on doppler constructionneg_index=samples/2+1-rayleigh_fades; % index of negative doppler frequencyf(neg_index)=f(neg_index+1);pos_index=samples/2+1+rayleigh_fades; % index of positive doppler frequencyf(pos_index)=f(pos_index-1);% Generate Doppler spectrumDoppler_filter = zeros(samples,1);if strcmp(spectrum,'Jackes')    % Doppler Jakes filter     Doppler_filter(neg_index:pos_index) = sqrt(1./(sqrt(1-(f(neg_index:pos_index)./fD).^2)));else                            % Doppler flat filter    Doppler_filter(neg_index:pos_index) = sqrt(f(neg_index:pos_index));endDoppler_filter = fftshift(Doppler_filter);% Filter random samples in frequency domainxf = real(ifft(fft(randn(samples,1)).*Doppler_filter));yf = real(ifft(fft(randn(samples,1)).*Doppler_filter));% omega (not normalized); power of complex signalomega = (abs(complex(xf,yf))).^2;% Normalizeomega = omega./mean(omega);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -