急求用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])

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

clear all close all

N = 1024   %采样点数

fs = 2048  %采样率

t = (0:N-1)/fs

fc = 600 %载波频率

%双频信号

f1 = 200

f2 = 100

m = cos(2*pi*f1*t)+cos(2*pi*f2*t)

%单边带调制

mh = imag(hilbert(m)) %希橡枯尔伯特变换

sbu = m.*cos(2*pi*fc*t) - mh.*sin(2*pi*fc*t)  %上边带梁信洞USB

sbl = m.*cos(2*pi*fc*t) + mh.*sin(2*pi*fc*t)  %下边带LSB

SBU = 2/N*abs(fft(sbu))    坦誉

SBL = 2/N*abs(fft(sbl))

%单边带解调

dm = sbu.*cos(2*pi*fc*t)

%低通滤波

%椭圆低通滤波

Rp=0.1

Rs=80

Wp=150*2*pi/fs

Ws=200*2*pi/fs

[n,Wn] = ellipord(Wp,Ws,Rp,Rs) %求滤波器的最小阶数

[b,a] = ellip(n,Rp,Rs,Wn) %设计椭圆滤波器

dmf = filter(b,a,dm) %滤波

figure(1)

subplot(511)plot(t(1:100),m(1:100))

title('双频调制信号')

subplot(512)

plot(t(1:200),sbu(1:200),'b') 

title('上边带时域信号')

subplot(513)

plot(t(1:200),sbl(1:200),'b') 

title('下边带时域信号')

subplot(514)

freq = fs * (0 : N/2) / N 

plot(freq,SBU(1:N/2+1),freq,SBL(1:N/2+1))

title('上边带和下边带频域信号')

%legend('USB','LSB')

subplot(515)

plot(t(1:100),dmf(1:100))

title('上边带解调信号')


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存