jquery 手机网站开发,外贸企业网站开发,设计师培训资料,威海临港区建设局网站根升余弦滤波器完整实现
%% 根升余弦滤波器生成与分析
clear all; close all; clc;%% 参数设置
Fs 1000; % 采样频率 (Hz)
T 1; % 符号周期 (s)
sps 10; % 每符号采样点数
beta 0.5; % 滚降因子 (0~1)
filter_span 6; % 滤波…根升余弦滤波器完整实现%% 根升余弦滤波器生成与分析clear all;close all;clc;%% 参数设置Fs1000;% 采样频率 (Hz)T1;% 符号周期 (s)sps10;% 每符号采样点数beta0.5;% 滚降因子 (0~1)filter_span6;% 滤波器跨度 (符号数)%% 生成根升余弦滤波器% 方法1: 使用rcosdesign函数 (推荐)h_rcrcosdesign(beta,filter_span,sps,sqrt);% 方法2: 手动实现 (备用方法)% t (-filter_span*T/2 : 1/Fs : filter_span*T/2) 1e-8; % 避免除零% h_rc_manual manual_root_raised_cosine(t, T, beta);%% 时域分析t_filter(-filter_span*sps/2:filter_span*sps/2)/(sps/T);figure(Position,[100,100,1200,800]);% 时域波形subplot(2,3,1);stem(t_filter,h_rc,b,filled,MarkerSize,4);hold on;plot(t_filter,h_rc,r-,LineWidth,1.5);grid on;xlabel(时间 (符号周期));ylabel(幅度);title(根升余弦滤波器时域响应);legend(采样点,包络,Location,best);% 滤波器冲激响应细节subplot(2,3,2);plot(t_filter,h_rc,b-,LineWidth,2);grid on;xlabel(时间 (符号周期));ylabel(幅度);title(滤波器冲激响应);xlim([-3,3]);% 眼图模拟subplot(2,3,3);% 生成随机数据并滤波datarandi([01],1,100)*2-1;% BPSK信号upsampled_dataupsample(data,sps);tx_signalconv(upsampled_data,h_rc,same);% 绘制眼图plot_eye_diagram(tx_signal,sps,2);title(发射信号眼图);%% 频域分析% 计算频率响应N_fft1024;H_rcfftshift(fft(h_rc,N_fft));f(-N_fft/2:N_fft/2-1)*(Fs/N_fft)/(1/T);% 归一化频率% 幅度响应subplot(2,3,4);plot(f,20*log10(abs(H_rc)/max(abs(H_rc))),b-,LineWidth,2);grid on;xlabel(归一化频率 (fT));ylabel(幅度 (dB));title(根升余弦滤波器幅度响应);xlim([-2,2]);ylim([-80,5]);% 相位响应subplot(2,3,5);phase_responseangle(H_rc);phase_response_unwrappedunwrap(phase_response);plot(f,phase_response_unwrapped,r-,LineWidth,2);grid on;xlabel(归一化频率 (fT));ylabel(相位 (弧度));title(相位响应);xlim([-2,2]);% 群延迟subplot(2,3,6);group_delay-diff(phase_response_unwrapped)./diff(f*2*pi);plot(f(1:end-1),group_delay,g-,LineWidth,2);grid on;xlabel(归一化频率 (fT));ylabel(群延迟 (样本));title(群延迟响应);xlim([-2,2]);%% 不同滚降因子的比较figure(Position,[100,100,1000,600]);beta_values[0.2,0.5,0.8,1.0];colors[b,r,g,m];t_compare(-filter_span*sps/2:filter_span*sps/2)/(sps/T);subplot(1,2,1);hold on;fori1:length(beta_values)h_temprcosdesign(beta_values(i),filter_span,sps,sqrt);plot(t_compare,h_temp,colors(i),LineWidth,2,...DisplayName,[\beta ,num2str(beta_values(i))]);endgrid on;xlabel(时间 (符号周期));ylabel(幅度);title(不同滚降因子的时域响应);legend(show);xlim([-3,3]);subplot(1,2,2);hold on;fori1:length(beta_values)h_temprcosdesign(beta_values(i),filter_span,sps,sqrt);H_tempfftshift(fft(h_temp,N_fft));f_compare(-N_fft/2:N_fft/2-1)*(Fs/N_fft)/(1/T);plot(f_compare,20*log10(abs(H_temp)/max(abs(H_temp))),...colors(i),LineWidth,2,...DisplayName,[\beta ,num2str(beta_values(i))]);endgrid on;xlabel(归一化频率 (fT));ylabel(幅度 (dB));title(不同滚降因子的频域响应);legend(show);xlim([-2,2]);ylim([-80,5]);%% ISI性能分析figure(Position,[100,100,800,400]);% 测试符号间干扰test_symbols[0,0,1,0,0];% 单个脉冲test_signal_upsampledupsample(test_symbols,sps);filtered_signalconv(test_signal_upsampled,h_rc,same);% 找到峰值位置[~,peak_idx]max(filtered_signal);sampling_pointspeak_idx:sps:length(filtered_signal);subplot(1,2,1);plot(filtered_signal,b-,LineWidth,2);hold on;stem(sampling_points,filtered_signal(sampling_points),ro,filled);grid on;xlabel(采样点);ylabel(幅度);title(单个脉冲的滤波器响应);legend(滤波器输出,采样时刻);% ISI分析 - 采样时刻的值subplot(1,2,2);isi_samplesfiltered_signal(sampling_points);stem(0:length(isi_samples)-1,isi_samples,b,filled);hold on;% 标记主瓣和旁瓣plot([2,2],[0,max(isi_samples)],r--,LineWidth,1.5);text(2.2,max(isi_samples)*0.8,主瓣,Color,r);grid on;xlabel(符号索引);ylabel(幅度);title(采样时刻的ISI分析);%% 自定义函数定义functionplot_eye_diagram(signal,samples_per_symbol,num_eyes)% 绘制眼图eye_lengthsamples_per_symbol*num_eyes;num_segmentsfloor(length(signal)/eye_length)-1;hold on;fori1:num_segments start_idx(i-1)*eye_length1;end_idxstart_idxeye_length-1;segmentsignal(start_idx:end_idx);time_axis(0:length(segment)-1)/samples_per_symbol;plot(time_axis,segment,b-,LineWidth,0.5);endxlabel(时间 (符号周期));ylabel(幅度);grid on;hold off;endfunctionhmanual_root_raised_cosine(t,T,beta)% 手动计算根升余弦滤波器hzeros(size(t));fori1:length(t)t_valt(i);ifabs(t_val)T/(4*beta)h(i)(beta/sqrt(2*T))*...((12/pi)*sin(pi/(4*beta))(1-2/pi)*cos(pi/(4*beta)));elseift_val0h(i)(1/sqrt(T))*(1beta*(4/pi-1));elseterm1sin(pi*(1-beta)*t_val/T4*beta*t_val/T*cos(pi*(1beta)*t_val/T));term2pi*t_val/T*(1-(4*beta*t_val/T).^2);h(i)(1/sqrt(T))*term1./term2;endendend%% 滤波器特性总结fprintf( 根升余弦滤波器特性总结 \n);fprintf(滚降因子 β: %.2f\n,beta);fprintf(滤波器长度: %d 个采样点\n,length(h_rc));fprintf(每符号采样点数: %d\n,sps);fprintf(滤波器跨度: %d 个符号\n,filter_span);% 计算关键参数energysum(h_rc.^2);fprintf(滤波器能量: %.4f\n,energy);% 检查奈奎斯特准则sampling_offsetround(length(h_rc)/2)sps;isi_valuesh_rc(sampling_offset:sps:end);isi_powersum(isi_values.^2)-h_rc(round(length(h_rc)/2))^2;fprintf(ISI功率: %.6f\n,isi_power);特性分析1.时域特性主瓣宽度与滚降因子β相关旁瓣衰减决定符号间干扰(ISI)大小过零点在整数倍符号周期处过零满足奈奎斯特准则2.频域特性带宽B (1 β) / (2T) Hz滚降特性平滑的过渡带带外抑制良好的频谱利用率3.滚降因子影响β较小(0.2-0.3)频谱效率高但对定时误差敏感β中等(0.4-0.6)平衡频谱效率和抗干扰能力β较大(0.7-1.0)抗干扰能力强但频谱效率低参考代码 根升余弦滤波器www.3dddown.com/csa/82526.html实际应用无线通信常用β0.35(卫星)或β0.5(蜂窝)有线通信根据信道特性选择β值数字电视通常使用较小的滚降因子