
瑞利衰落信道模型的研究与仿真 matlab程序
毕业设计要做的。急!!!要仿真源代码!!!!!!谢qq646883565.我真的没办法了快没时间了、急!!运行有错啊...
毕业设计要做的。急!!!要仿真源代码!!!!!!谢
qq646883565 .我真的没办法了
快没时间了、急!!
运行有错啊 展开
qq646883565 .我真的没办法了
快没时间了、急!!
运行有错啊 展开
展开全部
% written by Amir Sarrafzadeh (14Jan2008)
% this function generates normalized rayleigh samples based on Inverse DFT
% method as was proposed by David J. Young, and Norman C. Beaulieu
% "The Generation of Correlated Rayleigh Random Variates by Inverse
% Discrete Fourier Transform, "
% Sample Use:
% chan=genRayleighFading(512,ceil(10000/512),1e4,100);
% chan=chan(1:10000);
% where 10000=number of needed samples
% parameters:
% fftsize: size of fft which used
% numBlocks: number of samples/fftsize
% fs: sampling frequency(Hz)
% fd: doppler shift(Hz)
function [ outSignal ] = genRayleighFading( fftSize,numBlocks,fs,fd )
numSamples=fftSize*numBlocks; %total number of samples
fM=fd/fs; %normalized doppler shift
NfM=fftSize*fM;
kM=floor(NfM); %maximum freq of doppler filter in FFT samples
doppFilter=[0,1./sqrt(2*sqrt(1-(((1:kM-1)./NfM).^2))),sqrt((kM/2)*((pi/2)-atan((kM-1)/sqrt(2*kM-1)))),...
zeros(1,fftSize-2*kM-1),sqrt((kM/2)*((pi/2)-atan((kM-1)/sqrt(2*kM-1)))),1./sqrt(2*sqrt(1-(((kM-1:-1:1)./NfM).^2)))].';
sigmaG=sqrt((2*2/(fftSize.^2))*sum(doppFilter.^2));
gSamplesI=randn(numSamples,2); %i.i.d gaussian input samples (in phase)
gSamplesQ=randn(numSamples,2); %i.i.d gaussian input samples (quadrature phase)
gSamplesI=(1/sigmaG)*(gSamplesI(:,1)+1j*gSamplesI(:,2));
gSamplesQ=(1/sigmaG)*(gSamplesQ(:,1)+1j*gSamplesQ(:,2));
%filtering
filterSamples=kron(ones(numBlocks,1),doppFilter);
gSamplesI=gSamplesI.*filterSamples;
gSamplesQ=gSamplesQ.*filterSamples;
freqSignal=gSamplesI-1j*gSamplesQ;
freqSignal=reshape(freqSignal,fftSize,numBlocks);
outSignal=ifft(freqSignal,fftSize);
outSignal=abs(outSignal(:)); %Rayleigh distributed signal
% this function generates normalized rayleigh samples based on Inverse DFT
% method as was proposed by David J. Young, and Norman C. Beaulieu
% "The Generation of Correlated Rayleigh Random Variates by Inverse
% Discrete Fourier Transform, "
% Sample Use:
% chan=genRayleighFading(512,ceil(10000/512),1e4,100);
% chan=chan(1:10000);
% where 10000=number of needed samples
% parameters:
% fftsize: size of fft which used
% numBlocks: number of samples/fftsize
% fs: sampling frequency(Hz)
% fd: doppler shift(Hz)
function [ outSignal ] = genRayleighFading( fftSize,numBlocks,fs,fd )
numSamples=fftSize*numBlocks; %total number of samples
fM=fd/fs; %normalized doppler shift
NfM=fftSize*fM;
kM=floor(NfM); %maximum freq of doppler filter in FFT samples
doppFilter=[0,1./sqrt(2*sqrt(1-(((1:kM-1)./NfM).^2))),sqrt((kM/2)*((pi/2)-atan((kM-1)/sqrt(2*kM-1)))),...
zeros(1,fftSize-2*kM-1),sqrt((kM/2)*((pi/2)-atan((kM-1)/sqrt(2*kM-1)))),1./sqrt(2*sqrt(1-(((kM-1:-1:1)./NfM).^2)))].';
sigmaG=sqrt((2*2/(fftSize.^2))*sum(doppFilter.^2));
gSamplesI=randn(numSamples,2); %i.i.d gaussian input samples (in phase)
gSamplesQ=randn(numSamples,2); %i.i.d gaussian input samples (quadrature phase)
gSamplesI=(1/sigmaG)*(gSamplesI(:,1)+1j*gSamplesI(:,2));
gSamplesQ=(1/sigmaG)*(gSamplesQ(:,1)+1j*gSamplesQ(:,2));
%filtering
filterSamples=kron(ones(numBlocks,1),doppFilter);
gSamplesI=gSamplesI.*filterSamples;
gSamplesQ=gSamplesQ.*filterSamples;
freqSignal=gSamplesI-1j*gSamplesQ;
freqSignal=reshape(freqSignal,fftSize,numBlocks);
outSignal=ifft(freqSignal,fftSize);
outSignal=abs(outSignal(:)); %Rayleigh distributed signal
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-08-15 广告
苏州费马科仪自动化技术有限公司的金相图像分析系统是一种高效、精确的金属材料分析工具。它采用先进的数字图像处理技术,能够清晰地呈现出金属材料的内部结构和缺陷,为客户提供无损、非破坏性的检测和分析结果。该系统不仅可以分析金属材料的晶粒度、夹杂物...
点击进入详情页
本回答由费马科仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询