# How do I apply a Gaussian pulse shaping filter on a random bit stream using Communications Toolbox?

조회 수: 14 (최근 30일)
MathWorks Support Team 2009년 6월 27일
답변: Tasos Giannoulis 2017년 1월 25일
I want to do a Gaussian pulse shaping of a binary signal.

### 채택된 답변

MathWorks Support Team 2009년 6월 27일
The ability to apply a Gaussian pulse shaping filter on a signal is not available in Communications Toolbox.
As a workaround, you may use the GAUSSFIR function in the Signal Processing Toolbox. The following example demonstrates how this can be done.
%%Signal Source
% Build a set of test data.
x = randint(5,1);
x = x*2 -1;
rxsig = upsample(x,33); % Upsampled signal
rxsig = [zeros(16,1); rxsig];
stem(rxsig); hold on
%%Setup
% Define parameters.
bt = 0.3;
o=8;
n = 2;
%%Filter Definition
% Define filter-related parameters.
h = gaussfir(bt,n,o) ;
%%Filter the Signal
% y = filter(h,1,rxsig)/(h*h'); %Scaling by energy
y = filter(h,1,rxsig)/(max(h)); %Scaling by magnitude
plot(y(17:end, :), 'r');hold off;
legend('Upsampled Binary Signal','After Pulse Shaping')
%%Plot the impulse response of the Gaussian Filter
figure;impz(h);

댓글을 달려면 로그인하십시오.

### 추가 답변 (1개)

Tasos Giannoulis 2017년 1월 25일
Alternatively, you can construct an FIR Gaussian filter using dsp.FIRFilter (from DSP System Toolbox) and gaussdesign (from Signal Processing Toolbox):
bt = 0.3;
span = 4;
sps = 4;
num = gaussdesign(bt, span, sps);
gaussianFilter = dsp.FIRFilter('Numerator', num);
filtered = gaussianFilter(yourSignal);

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Digital Filter Analysis에 대해 자세히 알아보기

R2006a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by