news 2026/11/2 8:24:51

MATLAB代码来生成根升余弦滤波器,并绘制其时域和频域特性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MATLAB代码来生成根升余弦滤波器,并绘制其时域和频域特性

根升余弦滤波器完整实现

%% 根升余弦滤波器生成与分析clear all;close all;clc;%% 参数设置Fs=1000;% 采样频率 (Hz)T=1;% 符号周期 (s)sps=10;% 每符号采样点数beta=0.5;% 滚降因子 (0~1)filter_span=6;% 滤波器跨度 (符号数)%% 生成根升余弦滤波器% 方法1: 使用rcosdesign函数 (推荐)h_rc=rcosdesign(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);% 生成随机数据并滤波data=randi([01],1,100)*2-1;% BPSK信号upsampled_data=upsample(data,sps);tx_signal=conv(upsampled_data,h_rc,'same');% 绘制眼图plot_eye_diagram(tx_signal,sps,2);title('发射信号眼图');%% 频域分析% 计算频率响应N_fft=1024;H_rc=fftshift(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_response=angle(H_rc);phase_response_unwrapped=unwrap(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;fori=1:length(beta_values)h_temp=rcosdesign(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;fori=1:length(beta_values)h_temp=rcosdesign(beta_values(i),filter_span,sps,'sqrt');H_temp=fftshift(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_upsampled=upsample(test_symbols,sps);filtered_signal=conv(test_signal_upsampled,h_rc,'same');% 找到峰值位置[~,peak_idx]=max(filtered_signal);sampling_points=peak_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_samples=filtered_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_length=samples_per_symbol*num_eyes;num_segments=floor(length(signal)/eye_length)-1;hold on;fori=1:num_segments start_idx=(i-1)*eye_length+1;end_idx=start_idx+eye_length-1;segment=signal(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;endfunctionh=manual_root_raised_cosine(t,T,beta)% 手动计算根升余弦滤波器h=zeros(size(t));fori=1:length(t)t_val=t(i);ifabs(t_val)==T/(4*beta)h(i)=(beta/sqrt(2*T))*...((1+2/pi)*sin(pi/(4*beta))+(1-2/pi)*cos(pi/(4*beta)));elseift_val==0h(i)=(1/sqrt(T))*(1+beta*(4/pi-1));elseterm1=sin(pi*(1-beta)*t_val/T+4*beta*t_val/T*cos(pi*(1+beta)*t_val/T));term2=pi*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);% 计算关键参数energy=sum(h_rc.^2);fprintf('滤波器能量: %.4f\n',energy);% 检查奈奎斯特准则sampling_offset=round(length(h_rc)/2)+sps;isi_values=h_rc(sampling_offset:sps:end);isi_power=sum(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

实际应用

  1. 无线通信:常用β=0.35(卫星)或β=0.5(蜂窝)
  2. 有线通信:根据信道特性选择β值
  3. 数字电视:通常使用较小的滚降因子
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/1 11:48:08

41、网络安全技术与概念解析

网络安全技术与概念解析 1. 网络安全监测与防护设备 1.1 网络入侵检测系统(NIDS) 网络入侵检测系统(NIDS)持续监测网络流量,旨在检测恶意网络活动,例如端口扫描和拒绝服务(DoS)攻击等。它通过对网络流量的实时监控,分析其中是否存在异常行为模式,以此来判断是否有…

作者头像 李华
网站建设 2026/11/1 6:40:29

44、网络安全知识全解析

网络安全知识全解析 1. 恶意软件威胁与预防 1.1 常见恶意软件威胁 恶意软件威胁 定义 示例 病毒 在用户不知情的情况下在计算机上运行的代码,当代码被访问和执行时感染计算机 爱虫病毒(如 love - letter - for - you.txt.vbs) 蠕虫 与病毒类似,但能自我复制,而病…

作者头像 李华
网站建设 2026/11/3 2:09:00

博灵语音通知终端:全场景智能告警神器,让风险早发现、早响应!

博灵语音通知终端:全场景智能告警神器,让风险早发现、早响应! 还在为设备故障漏报、异常告警不及时发愁?还在纠结多系统无法联动、告警定位难?博灵语音通知终端 —— 新一代智能语音声光告警设备,以网络为纽…

作者头像 李华
网站建设 2026/11/2 16:11:38

Kotaemon工单系统联动:Jira/ServiceNow操作

Kotaemon工单系统联动:Jira/ServiceNow操作 在现代企业IT运维的日常中,一个常见的场景是:某位员工发现会议室打印机无法连接,随即在协作工具里发了一条消息:“今天开会时投影连不上,谁帮忙看看?…

作者头像 李华
网站建设 2026/11/2 10:56:12

AI在智能物流路径规划与车辆调度中的实时优化应用

AI在智能物流路径规划与车辆调度中的实时优化应用 关键词:AI、智能物流、路径规划、车辆调度、实时优化 摘要:本文深入探讨了AI在智能物流路径规划与车辆调度实时优化中的应用。详细介绍了相关的核心概念、算法原理、数学模型,通过项目实战展示了代码实现及解读。同时,阐述…

作者头像 李华
网站建设 2026/11/2 1:48:30

Revit 200+新功能之“明周科技功能商店 AI推荐助手”

# 简介🎯 开发背景与初衷随着我们 Revit 插件不断演进,用户在线提交的功能需求已接近 200 项,涵盖图纸生成、构件建模、参数赋值、数据统计、标高调整等多个方向。虽然我们已将这些功能模块化、面板化管理,但功能数量庞大后&#…

作者头像 李华