Bird
Raised Fist0
Simulinkdata~5 mins

Discrete transfer function in Simulink

Choose your learning style10 modes available
Introduction

A discrete transfer function shows how input signals change to output signals in systems that work step-by-step over time.

When modeling digital control systems like thermostats that update every second.
When simulating how a robot's motor responds to commands sent at fixed time intervals.
When analyzing filters that process audio signals sampled at regular times.
When designing systems that work with data collected in steps, like stock prices each day.
Syntax
Simulink
H(z) = (b0 + b1*z^-1 + b2*z^-2 + ... + bnb*z^-nb) / (1 + a1*z^-1 + a2*z^-2 + ... + ana*z^-na)

The numerator coefficients (b0, b1, ...) define zeros of the system.

The denominator coefficients (a1, a2, ...) define poles of the system.

Examples
This defines a discrete transfer function with one zero and one pole.
Simulink
Numerator coefficients: [0.5, -0.3]
Denominator coefficients: [1, -0.7]
This represents a system with two zeros and two poles.
Simulink
Numerator coefficients: [1, 0, -1]
Denominator coefficients: [1, -1.8, 0.81]
Sample Program

This code creates a discrete transfer function with given coefficients, computes its step response, and plots it. It also prints the first 5 output values to see how the system reacts over time.

Simulink
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import dlti, dstep

# Define numerator and denominator coefficients
b = [0.5, -0.3]  # numerator
 a = [1, -0.7]   # denominator

# Create discrete transfer function system
system = dlti(b, a, dt=1)  # dt=1 means sample time is 1 unit

# Compute step response
 t, y = dstep(system)

# Flatten output and convert time to array
 t = np.squeeze(t)
 y = np.squeeze(y)

# Plot step response
plt.stem(t, y, use_line_collection=True)
plt.title('Step Response of Discrete Transfer Function')
plt.xlabel('Time steps')
plt.ylabel('Output')
plt.grid(True)
plt.show()

# Print first 5 output values
print('First 5 step response values:', y[:5])
OutputSuccess
Important Notes

The sample time (dt) must be set correctly to match how often your system updates.

Discrete transfer functions work with signals at fixed time steps, unlike continuous ones.

Summary

A discrete transfer function models how outputs relate to inputs in step-by-step systems.

It uses numerator and denominator coefficients to describe system behavior.

You can analyze system responses like step response to understand performance.

Practice

(1/5)
1. What does a discrete transfer function in Simulink represent?
easy
A. The color scheme of the Simulink blocks
B. The hardware configuration of the computer
C. The relationship between input and output in a step-by-step system
D. The file format used to save Simulink models

Solution

  1. Step 1: Understand the purpose of discrete transfer functions

    A discrete transfer function models how the output of a system depends on its input at discrete time steps.
  2. Step 2: Eliminate unrelated options

    Options about colors, hardware, or file formats do not describe system behavior.
  3. Final Answer:

    The relationship between input and output in a step-by-step system -> Option C
  4. Quick Check:

    Discrete transfer function = input-output relation [OK]
Hint: Think input-output step relation for discrete systems [OK]
Common Mistakes:
  • Confusing transfer function with hardware settings
  • Thinking it describes visual aspects
  • Mixing file formats with system models
2. Which of the following is the correct way to define a discrete transfer function in Simulink?
easy
A. Using numerator and denominator coefficient vectors with a sample time
B. Using only a numerator vector without denominator
C. Using continuous time parameters without sample time
D. Using a single scalar value without vectors

Solution

  1. Step 1: Recall discrete transfer function definition

    It requires numerator and denominator coefficient vectors plus a sample time to define the discrete system.
  2. Step 2: Check options for completeness

    Only Using numerator and denominator coefficient vectors with a sample time includes numerator, denominator, and sample time, which is necessary.
  3. Final Answer:

    Using numerator and denominator coefficient vectors with a sample time -> Option A
  4. Quick Check:

    Numerator + denominator + sample time = correct syntax [OK]
Hint: Remember: numerator, denominator, and sample time needed [OK]
Common Mistakes:
  • Omitting denominator coefficients
  • Using continuous parameters for discrete blocks
  • Using single scalar instead of vectors
3. Given a discrete transfer function with numerator = [0.5 0.5] and denominator = [1 -0.3], and sample time = 1, what is the output at step 1 if the input is 1 at step 0 and 0 afterwards?
medium
A. 0
B. 0.5
C. 0.65
D. 0.15

Solution

  1. Step 1: Calculate output at step 1 using difference equation

    Output y[1] = 0.5*u[1] + 0.5*u[0] - (-0.3)*y[0]. Given u[0]=1, u[1]=0, y[0]=0 (initially), y[1] = 0.5*0 + 0.5*1 + 0.3*0 = 0.5.
  2. Step 2: Confirm initial conditions and input values

    Initial output y[0] is zero, input at step 1 is zero, so calculation is correct.
  3. Final Answer:

    0.5 -> Option B
  4. Quick Check:

    y[1] = 0.5*0 + 0.5*1 + 0.3*0 = 0.5 [OK]
Hint: Use difference equation with initial zero output [OK]
Common Mistakes:
  • Ignoring initial output conditions
  • Using wrong input values for step 1
  • Mixing numerator and denominator signs
4. You defined a discrete transfer function with numerator = [1 0] and denominator = [1 -0.5], sample time = 1. The output does not change when input changes. What is the likely error?
medium
A. Denominator coefficients are incorrect length
B. Sample time is set to zero
C. Numerator coefficients do not represent the input properly
D. Input signal is not connected

Solution

  1. Step 1: Validate the coefficients

    Numerator [1 0] and denominator [1 -0.5] yield y[n] = u[n] + 0.5 y[n-1], which responds to input changes.
  2. Step 2: Identify the likely cause

    In Simulink, if output ignores input despite valid parameters, the input signal is probably not connected to the block.
  3. Final Answer:

    Input signal is not connected -> Option D
  4. Quick Check:

    No response? Verify input connection [OK]
Hint: If output unresponsive, check input connection first [OK]
Common Mistakes:
  • Ignoring numerator vector meaning
  • Assuming sample time zero is valid
  • Not verifying input connection
5. You want to design a discrete transfer function in Simulink to model a system with a delay of 2 steps and a gain of 0.8. Which numerator and denominator coefficients correctly represent this?
hard
A. Numerator = [0 0 0.8], Denominator = [1]
B. Numerator = [0.8 0 0], Denominator = [1 -0.2]
C. Numerator = [0 0.8 0], Denominator = [1 0]
D. Numerator = [0 0 1], Denominator = [0.8]

Solution

  1. Step 1: Understand delay and gain in numerator

    A delay of 2 steps means the gain appears at the third coefficient (index 2), so numerator should be [0 0 0.8].
  2. Step 2: Denominator for no feedback is [1]

    Since no feedback is mentioned, denominator is simply [1]. Other options have incorrect placements or values.
  3. Final Answer:

    Numerator = [0 0 0.8], Denominator = [1] -> Option A
  4. Quick Check:

    Delay = zeros before gain in numerator [OK]
Hint: Delay = zeros before gain in numerator vector [OK]
Common Mistakes:
  • Placing gain at wrong numerator index
  • Misunderstanding denominator role
  • Confusing gain and delay positions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard