📄 plot_zforce.m
字号:
%This calls the plot functions for the fixed receivers%function [] = plot_zforce();global_sys_params;global_zforce;ui_global_zforce;global_fig;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Plot channel and equalizer%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if get(h_zforce_plot_chan_eq,'value') zf_f=zf_F(:,(zf_user-1)*N_s+zf_delay+1); %choose equalizer specified by delay and user %Initialize window for plot (need to do this so I can make plot %procedure generic if ishandle(fig_zforce_chan_eq), delete(fig_zforce_chan_eq); end; fig_zforce_chan_eq = figure('integerhandle','off','Name',... 'Zero Forcing Channel/Equalizer Response',... 'NumberTitle','off','Resize','on',... 'Position',[s_size(3)-425 s_size(2)+25 400 850]); clf; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %PLOT EVERYTHING except mse %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 %determine channel plus code affects chancode=conv(C(:,zf_user),h_ici(:,zf_user)); %determine system response cheq=zf_f.'*H_user; cheqfreq=10*log10(abs(fft(cheq,512))); cheqfreq=[cheqfreq(floor(length(cheqfreq)/2)+1:length(cheqfreq)) ... cheqfreq(1:floor(length(cheqfreq)/2))]; subplot(411) %plot channel impulse stem([0:1/P:length(chancode)/P-1/P],chancode); title(['Convolution of Channel model and Spreading Code of user ',num2str(zf_user)]); xlabel('T_c/P'); ylabel('Magnitude'); axis([0 length(chancode)/P-1 1.1*min(chancode) 1.1*max(chancode)]); subplot(412) %plot equalizer impulse stem([0:1/P:length(zf_f)/P-1/P],zf_f); title(['Equalizer of user ',num2str(zf_user)]); xlabel('T_c/P'); ylabel('Magnitude'); axis([0 length(zf_f)/P-1 1.1*min(zf_f) 1.1*max(zf_f)]); subplot(413) %combined chan/eq impulse stem([0:1/P:length(cheq)/P-1/P],cheq); title(['Combine Channel/Equalizer of user ',num2str(zf_user)]); xlabel('T_c/P'); ylabel('Magnitude'); axis([0 length(cheq)/P-1 1.1*min(cheq) 1.1*max(cheq)]); subplot(414); %frequency response plot([-1+2/length(cheqfreq):2/length(cheqfreq):1],cheqfreq); hold off title(['Frequency Response of User ',num2str(zf_user),'''s Combined Channel and Equalizer']); xlabel(['Normalized Frequency f_s=,' num2str(P),'/T_c']); ylabel(['Magnitude in db']);else if ishandle(fig_zforce_chan_eq), delete(fig_zforce_chan_eq); end;end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -