ddc matlab仿真
2013-12-16 15:43
176 查看
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%info%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[code]%author:YangLi
%email:yangli0534@gmail.com
%data:2013/12/16
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%IFsignalgeneration%%%%%%%%%%%%%%%%%%%%%%%%%
b=2e6;
taup=50/1e6;
fc=20e6;
n=fix(50*taup*b);
t=linspace(-taup/2,taup/2,n);
s=exp(i*pi*(b/taup).*t.^2+i*2*pi*fc.*t);
figure(1)
subplot(4,1,1)
plot(t,real(s),'k')
ylabel('realpartofIFsignals')
xlabel('timeinseconds')
grid
subplot(4,1,2)
sampling_interval=1/5/fc;
freqlimit=0.5/sampling_interval;
freq=linspace(-freqlimit,freqlimit,n);
plot(freq,fftshift(abs(fft(real(s)))),'k');
ylabel('Spectrumofrealpartofs')
xlabel('FrequencyinHz')
grid
subplot(4,1,3)
plot(t,imag(s),'k')
ylabel('imagpartofIFsignals')
xlabel('timeinseconds')
grid
subplot(4,1,4)
plot(freq,fftshift(abs(fft(imag(s)))),'k');
ylabel('Spectrumofimagpartofs')
xlabel('FrequencyinHz')
grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%mixer%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
lo=exp(i*2*pi*fc.*t);
smi=real(s).*real(lo);
figure(2)
subplot(4,1,1)
plot(t,smi,'k')
ylabel('realpartofsignalsmaftermixed')
xlabel('timeinseconds')
grid
subplot(4,1,2)
sampling_interval=1/5/fc;
freqlimit=0.5/sampling_interval;
freq=linspace(-freqlimit,freqlimit,n);
plot(freq,fftshift(abs(fft(smi))),'k');
ylabel('Spectrumofsmi')
xlabel('FrequencyinHz')
grid
smq=real(s).*imag(lo);
subplot(4,1,3)
plot(t,smq,'k')
ylabel('imappartofsignalsmaftermixed')
xlabel('timeinseconds')
grid
subplot(4,1,4)
sampling_interval=1/5/fc;
freqlimit=0.5/sampling_interval;
freq=linspace(-freqlimit,freqlimit,n);
plot(freq,fftshift(abs(fft(smq))),'k');
ylabel('Spectrumofsmq')
xlabel('FrequencyinHz')
grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CICfilter%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
decf=10;%DecimationFactor
diffd=1;%DifferentialDelay
numsecs=5;%NumberofSections
hm=mfilt.cicdecim(decf,diffd,numsecs);
sci=double(filter(hm,smi));
scq=double(filter(hm,smq));
n=length(sci);
t=linspace(-taup/2,taup/2,n);
figure(3)
subplot(4,1,1)
plot(t,sci,'k')
ylabel('realpartofsignalsmiaftercicfilter')
xlabel('timeinseconds')
grid
subplot(4,1,2)
sampling_interval=1/5/fc;
freqlimit=0.5/sampling_interval;
freq=linspace(-freqlimit,freqlimit,n);
plot(freq,fftshift(abs(fft(sci))),'k');
ylabel('Spectrumofsci')
xlabel('FrequencyinHz')
grid
subplot(4,1,3)
plot(t,scq,'k')
ylabel('imappartofsignalsmaftermixed')
xlabel('timeinseconds')
grid
subplot(4,1,4)
sampling_interval=1/5/fc;
freqlimit=0.5/sampling_interval;
freq=linspace(-freqlimit,freqlimit,n);
plot(freq,fftshift(abs(fft(scq))),'k');
ylabel('Spectrumofsmq')
xlabel('FrequencyinHz')
grid
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%lpffilter%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fs=9.98;%SamplingFrequency
Fpass=1;%PassbandFrequency
Fstop=1.5;%StopbandFrequency
Dpass=0.057501127785;%PassbandRipple
Dstop=0.0001;%StopbandAttenuation
dens=20;%DensityFactor
%CalculatetheorderfromtheparametersusingFIRPMORD.
[N,Fo,Ao,W]=firpmord([Fpass,Fstop]/(Fs/2),[10],[Dpass,Dstop]);
%CalculatethecoefficientsusingtheFIRPMfunction.
b=firpm(N,Fo,Ao,W,{dens});
Hd=dfilt.dffir(b);
spi=double(filter(Hd,sci));
spq=double(filter(Hd,scq));
n=length(spi);
t=linspace(-taup/2,taup/2,n);
figure(4)
subplot(4,1,1)
plot(t,spi,'k')
ylabel('realpartofsignalspiafterlpffilter')
xlabel('timeinseconds')
grid
subplot(4,1,2)
sampling_interval=1/5/fc;
freqlimit=0.5/sampling_interval;
freq=linspace(-freqlimit,freqlimit,n);
plot(freq,fftshift(abs(fft(spi))),'k');
ylabel('Spectrumofspi')
xlabel('FrequencyinHz')
grid
subplot(4,1,3)
plot(t,spq,'k')
ylabel('imappartofsignalsmafterlpffilter')
xlabel('timeinseconds')
grid
subplot(4,1,4)
sampling_interval=1/5/fc;
freqlimit=0.5/sampling_interval;
freq=linspace(-freqlimit,freqlimit,n);
plot(freq,fftshift(abs(fft(spq))),'k');
ylabel('Spectrumofsmq')
xlabel('FrequencyinHz')
grid
[/code]
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
相关文章推荐
- 几种常见窗函数及其MATLAB程序实现
- Matlab Liblinear安装及测试过程
- 绘图matlab
- Chapter 4. MATLAB语法基础
- 在Matlab中调用OpenCV函数
- 快速学matlab
- Labview中使用matlab script方法
- MATLAB 定义结构体数组 并存到mat 文件 读取mat
- Conditional Random Field (CRF) Toolbox for Matlab
- MATLAB排列组合计算
- 基于Matlab手选控制点的非同源图像简单配准
- Ubuntu安装Matlab和设置桌面快捷方式
- MATLAB相关快捷键以及常用函数
- MATLAB各种概率分布画图(转载)
- DeepLearnToolbox_SAE notes
- Perceptron Learing Algorithm (PLA )matlab 实现
- 基于最小二乘算法的参数估计(matlab程序和测试)
- matlab 之字体调整
- matlab 更改横坐标坐标值的方向
- matlab程序提速