急求用MATLAB编写用滤波法实现SSB调制的程序(提示:使用LPF函数实现滤波)

急求用MATLAB编写用滤波法实现SSB调制的程序(提示:使用LPF函数实现滤波),第1张

你这LPF函碰银数是别人写的吧,里面还有一个新的F2T()函数不知道是什么,不是MATLAB自带的,也是别人笑耐宴写的,你没拿过来吧。

不管了,你按我给的写,直接全复制到一个文件里,运行就行了。

close all

clear all

dt=0.001

fm=1

fc=10

T=5

t=0:dt:T

mt=sqrt(2)*cos(2*pi*fm*t)

s_dsb=mt.*cos(2*pi*fc*t)

B=2*fm

figure(1)

subplot(311)

plot(t,s_dsb)

hold on

plot(t,mt,'r--')

title('DSB调制信号')

xlabel('t')

f_dsb=fft(s_dsb)

temp=f_dsb

temp([50:4953])=0

s_ssb=ifft(temp)

subplot(312)

plot(t,s_ssb)

hold on

plot(t,mt,'亩消r--')

title('SSB调制信号(下边带)')

xlabel('t')

temp=f_dsb

temp([1:49])=0

temp([4953:end])=0

s_ssb=ifft(temp)

subplot(313)

plot(t,s_ssb)

hold on

plot(t,mt,'r--')

title('SSB调制信号(上边带)')

xlabel('t')

% ch5example7prog1.m

clear

fs=10000

t=1/fs:1/fs:1

m_t(fs*1)=0

for F=150:400

m_t=m_t+0.003*sin(2*pi*F*t)*(400-F)

end

m_t90shift=imag(hilbert(m_t))

carriercos=cos(2*pi*1000*t)

carriersin=sin(2*pi*1000*t)

s_ssb1=m_t.*carriercos-m_t90shift.*carriersin

s_ssb2=m_t.*carriercos+m_t90shift.*carriersin

%下面租键中做出各波形以及频谱

figure(1)

subplot(4,2,1)plot(t(1:100),carriercos(1:100),...

t(1:100),carriersin(1:100),'--r')

subplot(4,2,2)plot([0:9999],abs(fft(carriercos)))

axis([0 2000 500 6000])

subplot(4,2,2)plot(t(1:100),m_t(1:100))

subplot(4,2,3)plot([0:9999],abs(fft(m_t)))

axis([0 2000 500 6000])

subplot(4,2,4)plot([0:9999],abs(fft(s_ssb1)))

axis([0 2000 500 6000])

subplot(4,2,5)plot(t(1:100),s_ssb2(1:100))

subplot(4,2,6)plot([0:9999],abs(fft(s_ssb2)))

axis([0 2000 500 6000])

好了,弊山你看亮租一下,对不对


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12441898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存