QPSK成型滤波matlab代码编写

本文介绍了如何使用MATLAB的fdatool设计并生成RRC滤波器,详细阐述了滤波器的设置过程,并展示了5Msps QPSK信号经过滤波前后的效果对比,说明了成形滤波对于QPSK星座图的改善。
摘要由CSDN通过智能技术生成

目录

1. 滤波器设置

2. 自动生成的RRC filter 接口函数

3. 成形滤波效果


1. 滤波器设置

利用matlab的fdatool根据生成平方根升余弦滤波滤波器,如下

设计完成后,可直接生成matlab接口函数,在filter design界面上方工具栏,"file--generate matlab  code--filter design function"

2. 自动生成的RRC filter 接口函数

function Hd = myfilter
%UNTITLED Returns a discrete-time filter object.

% MATLAB Code
% Generated by MATLAB(R) 9.6 and DSP System Toolbox 9.8.
% Generated on: 09-May-2022 00:28:51

% FIR Window Raised-cosine filter designed using the FIRRCOS function.

% All frequency values are in MHz.
Fs = 40;  % Sampling Frequency

N    = 40;         % 
  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在数字通信系统中,基带信号成型滤波器常用于将数字信号进行调制,以便在信道中传输。MATLAB提供了多种方法来实现基带信号成型滤波。 1. 用fir1函数设计低通滤波器 fir1函数是MATLAB中用于设计FIR滤波器的函数之一,可以用于设计低通、高通、带通、带阻等类型的滤波器。基带信号成型滤波器通常是一种低通滤波器,因此可以使用fir1函数进行设计。例如: ``` % 设计一个截止频率为0.1的低通滤波器 fs = 1000; % 采样率 f_cutoff = 0.1; % 截止频率 n_taps = 101; % 滤波器阶数 b = fir1(n_taps, f_cutoff/(fs/2)); ``` 2. 用fdesign.pulseshaping函数设计基带信号成型滤波器 MATLAB还提供了fdesign.pulseshaping函数,用于基带信号成型滤波器的设计。该函数可以根据给定的滤波器参数自动设计基带信号成型滤波器。例如: ``` % 设计一个采样率为1000Hz,符号率为100Hz,升余弦滚降系数为0.5的基带信号成型滤波器 fs = 1000; % 采样率 symbol_rate = 100; % 符号率 rolloff = 0.5; % 升余弦滚降系数 fdesign_object = fdesign.pulseshaping(1, 'Raised Cosine', 'Nsym,Beta', 10, rolloff); cosine_filter = design(fdesign_object); ``` 其中,'Raised Cosine'表示所设计的基带信号成型滤波器类型是升余弦滤波器。'Nsym,Beta'表示升余弦滤波器的参数,其中Nsym为滤波器长度,Beta为滚降系数。 3. 使用其他函数进行设计 除了上述方法,MATLAB还提供了许多其他函数,如firpm、firls、remez等,用于设计FIR滤波器。可以根据具体的设计要求选择合适的函数进行设计。 在设计好基带信号成型滤波器之后,可以通过filter函数对信号进行滤波。例如: ``` % 对原始信号进行基带信号成型滤波 x = randn(1, 1000); % 生成长度为1000的随机信号 x_filtered = filter(b, 1, x); % 使用设计好的低通滤波器进行滤波 ``` 需要注意的是,基带信号成型滤波器的设计需要考虑到系统的采样率、符号率、信道带宽等因素,具体设计方法可以参考相关文献。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值