在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%info%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2: %author: Yang Li
3: %email: [email protected] 4: %data:2013/12/16
5: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%IF signal generation%%%%%%%%%%%%%%%%%%%%%%%%%
6: b=2e6;
7: taup=50/1e6;
8: fc=20e6;
9:
10: n = fix(50 * taup * b);
11: t = linspace(-taup/2,taup/2,n);
12: s= exp(i * pi * (b/taup) .* t.^2 + i * 2 * pi * fc .* t);
13: figure(1)
14: subplot(4,1,1)
15: plot(t,real(s),'k') 16: ylabel('real part of IF signal s') 17: xlabel('time in seconds') 18: grid
19: subplot(4,1,2)
20: sampling_interval = 1 / 5 /fc;
21: freqlimit = 0.5/ sampling_interval;
22: freq = linspace(-freqlimit,freqlimit,n);
23: plot(freq,fftshift(abs(fft(real(s)))),'k'); 24: ylabel('Spectrum of real part of s') 25: xlabel('Frequency in Hz') 26:
27: grid
28: subplot(4,1,3)
29: plot(t,imag(s),'k') 30: ylabel('imag part of IF signal s') 31: xlabel('time in seconds') 32: grid
33:
34: subplot(4,1,4)
35:
36: plot(freq,fftshift(abs(fft(imag(s)))),'k'); 37: ylabel('Spectrum of imag part of s') 38: xlabel('Frequency in Hz') 39: grid
40: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%mixer%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41: lo = exp(i*2 * pi * fc .* t);
42: smi = real(s) .* real(lo);
43: figure(2)
44: subplot(4,1,1)
45: plot(t, smi,'k') 46: ylabel('real part of signal sm after mixed') 47: xlabel('time in seconds') 48: grid
49: subplot(4,1,2)
50: sampling_interval = 1 / 5 /fc;
51: freqlimit = 0.5/ sampling_interval;
52: freq = linspace(-freqlimit,freqlimit,n);
53: plot(freq,fftshift(abs(fft( smi ))),'k'); 54: ylabel('Spectrum of smi') 55: xlabel('Frequency in Hz') 56: grid
57:
58: smq = real(s) .* imag(lo);
59:
60: subplot(4,1,3)
61: plot(t, smq,'k') 62: ylabel('imap part of signal sm after mixed') 63: xlabel('time in seconds') 64: grid
65: subplot(4,1,4)
66: sampling_interval = 1 / 5 /fc;
67: freqlimit = 0.5/ sampling_interval;
68: freq = linspace(-freqlimit,freqlimit,n);
69: plot(freq,fftshift(abs(fft( smq ))),'k'); 70: ylabel('Spectrum of smq') 71: xlabel('Frequency in Hz') 72: grid
73:
74:
75: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%CIC filter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
76: decf = 10; % Decimation Factor
77: diffd = 1; % Differential Delay
78: numsecs = 5; % Number of Sections
79:
80: hm = mfilt.cicdecim(decf, diffd, numsecs);
81: sci=double(filter(hm,smi)); 82: scq=double(filter(hm,smq)); 83: n=length(sci);
84: t = linspace(-taup/2,taup/2,n);
85: figure(3)
86: subplot(4,1,1)
87: plot(t, sci,'k') 88: ylabel('real part of signal smi after cic filter') 89: xlabel('time in seconds') 90: grid
91: subplot(4,1,2)
92: sampling_interval = 1 / 5 /fc;
93: freqlimit = 0.5/ sampling_interval;
94: freq = linspace(-freqlimit,freqlimit,n);
95: plot(freq,fftshift(abs(fft( sci ))),'k'); 96: ylabel('Spectrum of sci') 97: xlabel('Frequency in Hz') 98: grid
99:
100:
101:
102: subplot(4,1,3)
103: plot(t, scq,'k') 104: ylabel('imap part of signal sm after mixed') 105: xlabel('time in seconds') 106: grid
107: subplot(4,1,4)
108: sampling_interval = 1 / 5 /fc;
109: freqlimit = 0.5/ sampling_interval;
110: freq = linspace(-freqlimit,freqlimit,n);
111: plot(freq,fftshift(abs(fft( scq ))),'k'); 112: ylabel('Spectrum of smq') 113: xlabel('Frequency in Hz') 114: grid
115:
116: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%lpf filter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117: Fs = 9.98; % Sampling Frequency
118:
119: Fpass = 1; % Passband Frequency
120: Fstop = 1.5; % Stopband Frequency
121: Dpass = 0.057501127785; % Passband Ripple
122: Dstop = 0.0001; % Stopband Attenuation
123: dens = 20; % Density Factor
124:
125: % Calculate the order from the parameters using FIRPMORD. 126: [N, Fo, Ao, W] = firpmord([Fpass, Fstop]/(Fs/2), [1 0], [Dpass, Dstop]);
127:
128: % Calculate the coefficients using the FIRPM function. 129: b = firpm(N, Fo, Ao, W, {dens});
130: Hd = dfilt.dffir(b);
131:
132: spi=double(filter(Hd,sci)); 133: spq=double(filter(Hd,scq)); 134: n=length(spi);
135: t = linspace(-taup/2,taup/2,n);
136: figure(4)
137: subplot(4,1,1)
138: plot(t, spi,'k') 139: ylabel('real part of signal spi after lpf filter') 140: xlabel('time in seconds') 141: grid
142: subplot(4,1,2)
143: sampling_interval = 1 / 5 /fc;
144: freqlimit = 0.5/ sampling_interval;
145: freq = linspace(-freqlimit,freqlimit,n);
146: plot(freq,fftshift(abs(fft( spi ))),'k'); 147: ylabel('Spectrum of spi') 148: xlabel('Frequency in Hz') 149: grid
150:
151:
152:
153: subplot(4,1,3)
154: plot(t, spq,'k') 155: ylabel('imap part of signal sm after lpf filter') 156: xlabel('time in seconds') 157: grid
158: subplot(4,1,4)
159: sampling_interval = 1 / 5 /fc;
160: freqlimit = 0.5/ sampling_interval;
161: freq = linspace(-freqlimit,freqlimit,n);
162: plot(freq,fftshift(abs(fft( spq ))),'k'); 163: ylabel('Spectrum of smq') 164: xlabel('Frequency in Hz') 165: grid
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论