Skip to main content

Impulse Response of an ARMA System in MATLAB


Impulse Response h[n] of an ARMA System

Step-by-Step Solution

1. Start with the Transfer Function:

Given:
H(z) = (1 + 0.3z⁻¹) / (1 - 0.75z⁻¹ + 0.5z⁻²)

This is an ARMA(2,1) system where:

  • MA (numerator) coefficients: [1, 0.3]
  • AR (denominator) coefficients: [1, -0.75, 0.5]

2. Find the Impulse Response h[n]:

We want the inverse Z-transform of H(z). Instead of doing partial fraction decomposition, we use the system's difference equation.

3. Recursive Computation Using the Difference Equation:

From the system equation:
y[n] + 0.75y[n−1] − 0.5y[n−2] = x[n] + 0.3x[n−1]
Assume x[n] = δ[n] (unit impulse): x[0] = 1, others are 0. Then y[n] = h[n]

4. Compute h[n] values:

  • n = 0: y[0] + 0 = 1 → h[0] = 1
  • n = 1: y[1] + 0.75*1 = 0.3 → h[1] = -0.45
  • n = 2: y[2] - 0.3375 - 0.5 = 0 → h[2] = 0.8375
  • n = 3: y[3] + 0.628125 + 0.225 = 0 → h[3] = -0.853125

5. Table of First Few Values:

nh[n]
01
1-0.45
20.8375
3-0.853125

6. Conclusion:
The impulse response is obtained by applying δ[n] and using the recursive equation. It reveals how past outputs and current/previous inputs shape the system's behavior. 

 

MATLAB Code

 clc;
clear;
close all;

%Impulse Response of an ARMA System%
% Define ARMA coefficients
ar_coeffs = [1, -0.75, 0.5];   % AR coefficients (denominator)
ma_coeffs = [1, 0.3];          % MA coefficients (numerator)

% Generate impulse signal
impulse = zeros(1, 100);
impulse(1) = 1;  % Delta function (unit impulse)

% Filter the impulse signal through ARMA system
h = filter(ma_coeffs, ar_coeffs, impulse);

% Plot the impulse response
figure;
stem(0:length(h)-1, h, 'filled');  % Use stem for discrete-time signal
xlabel('n');
ylabel('h[n]');
title('Impulse Response of ARMA System');
grid on;

Output

 

 Copy the aforementioned MATLAB code from here


Why Finding h[n] Is Useful in ARMA and WSS Contexts

1. Understand System Behavior:
The impulse response h[n] completely characterizes a linear time-invariant (LTI) system. Knowing h[n] allows us to determine the output y[n] for any input x[n] using convolution:

y[n] = x[n] * h[n]

In ARMA systems, this tells us how the system (or channel) modifies the input signal.

2. Analyze the Effect on Spectral Properties:
For wide-sense stationary (WSS) input signals, the power spectral density (PSD) of the output is given by:

Sy(f) = |H(f)|² · Sx(f)

Here, H(f) is the Fourier transform of h[n]. So knowing h[n] helps us understand how the system alters the frequency content of the input signal.

 

Further Reading


 



Contact Us

Name

Email *

Message *

Popular Posts

Hybrid Beamforming | Page 1

Beamforming Techniques Hybrid Beamforming... Page 1 | Page 2 | Hybrid Beamforming: Hybrid beam formation was developed to address some of the limitations of digital pre-coding approaches. Every antenna element is connected to an RF chain in digital pre-coding (beam forming) method. We also know that each RF chain is in charge of providing a separate data stream between the transmitter and the receiver. We know that a larger number of independent data streams leads to higher data rates. It has a spatial multiplexing feature for MIMO. As a result, we may assume that switching from MIMO to massive MIMO will benefit us more in terms of spatial multiplexing in massive MIMO, where each antenna is coupled to a single RF chain. We'll proceed with a definition of hybrid beam forming. Overview of hybrid beam forming with example: Unlike digital beam forming, more than one antenna element is connected to a single RF chain in hybr...

MATLAB Code for 8-PSK, 16-PSK, ...

📘 Overview & Theory 🧮 MATLAB Code for BPSK, QPSK, 8-PSK, 16-PSK, 32-PSK 🧮 Simulator for m-ary PSK 📚 Further Reading   MATLAB Code for BPSK, QPSK, 8-PSK, 16-PSK, 32-PSK clc; clear all; close all; rng(10) M = 8; % M = 2, 4, 8, 16, 32, etc. N_Bits = 2520; Phase = 0; data_info_bit = randi([0,1],N_Bits,1); data_temp = bi2de(reshape(data_info_bit,N_Bits/log2(M),log2(M))); modData = pskmod(data_temp,M,Phase); figure(1); scatterplot(modData); channelAWGN = 15; rxData2 = awgn(modData, channelAWGN); figure(2); scatterplot(rxData2); demodData = pskdemod(rxData2,M,Phase);   for BPSK, Constellation Size, M = 2 for QPSK, M = 4 for 8-PSK, M = 8, and so on    Output Figure: 8-PSK Modulation Figure: 8-PSK Demodulation after adding AWGN Noise Using the above MATLAB code you'll able be to modulate and demodulate 2-PSK, 4-PSK, 8-PSK, 16-PSK, 32-PSK and so on.  16-PSK   Fig: 16-PSK In this above code ' M ' is the number of the conste...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Home / Engineering & Other Exams / UGC NET 2026 PYQ ⬇️ Download Papers and Solutions 📋 Exam Pattern 💡 Preparation Tips ❓ FAQs 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2025 - Question Paper Download PDF June 2025 - Solved Paper + Explanation ...

OFDM Symbols and Subcarriers Explained

This article explains how OFDM (Orthogonal Frequency Division Multiplexing) symbols and subcarriers work. It covers modulation, mapping symbols to subcarriers, subcarrier frequency spacing, IFFT synthesis, cyclic prefix, and transmission. Step 1: Modulation First, modulate the input bitstream. For example, with 16-QAM , each group of 4 bits maps to one QAM symbol. Suppose we generate a sequence of QAM symbols: s0, s1, s2, s3, s4, s5, …, s63 Step 2: Mapping Symbols to Subcarriers Assume N sub = 8 subcarriers. Each OFDM symbol in the frequency domain contains 8 QAM symbols (one per subcarrier): Mapping (example) OFDM symbol 1 → s0, s1, s2, s3, s4, s5, s6, s7 OFDM symbol 2 → s8, s9, s10, s11, s12, s13, s14, s15 … OFDM sym...

Galois Fields: GF(2) and GF(2m) and Primitive Polynomial

Galois Fields: GF(2) and GF(2 m ) 1. What is a Galois Field (GF)? A Galois Field (GF) is a finite set of elements in which the four basic arithmetic operations—addition, subtraction, multiplication, and division (except by zero)— are all well defined and closed. GF(q) ⇒ a field with exactly q elements 2. The Simplest Field: GF(2) GF(2) is the smallest possible finite field and forms the foundation of all digital systems. GF(2) = {0, 1} Addition in GF(2) Addition is performed modulo 2 (XOR operation): + 0 1 0 0 1 1 1 0 Multiplication in GF(2) × 0 1 0 0 0 1 0 1 GF(2) is used in binary logic, XOR operations, and simple error-control codes. 3. Meaning of GF(2 m ) GF(2 m ) is a finite field containing exactly 2 m elements . Each element represents an m-bit symbol . Field Number of Elements GF(2) 2 GF(2²) 4 GF(2³) 8 GF(2⁸) 256 Important: GF(2 m ) is not integer arithmetic modulo 2 m . It is polynomial-based arithmetic. 4....

Frequency Shift Keying (FSK) Modulation & Demodulation (with Simulation)

Frequency Shift Keying (FSK) Theoretical Foundations: Frequency Shift Keying (FSK) is a discrete frequency modulation scheme wherein the digital information is encoded via instantaneous shifts in the carrier signal's frequency. The fundamental implementation is Binary FSK (BFSK), which maps binary data onto two distinct, discrete spectral states. A binary '1' (the "mark" state) is represented by a carrier frequency \( f_1 \), while a binary '0' (the "space" state) corresponds to frequency \( f_2 \). Each symbol is sustained for a bit interval denoted by \( T_b \). FSK Transmitter Characterization: The mathematical model for the modulated BFSK output \( s(t) \) is defined as: \[ s(t) = \begin{cases} A_c \cos(2\pi f_1 t), & \text{for } m = 1 \\ A_c \cos(2\pi f_2 t), & \text{for } m = 0 \end{cases} \] ...