Bird
Raised Fist0
Simulinkdata~5 mins

Signal routing (Mux, Demux, Switch) in Simulink

Choose your learning style10 modes available
Introduction

Signal routing helps organize and control how multiple signals flow in a system. It makes managing many signals easier by combining, splitting, or switching them.

When you want to combine several signals into one for simpler processing.
When you need to split one signal into multiple parts to analyze separately.
When you want to select one signal from many to send forward based on conditions.
When building control systems that need to switch between different inputs.
When organizing complex models to keep signal paths clear and manageable.
Syntax
Simulink
Mux(inputs)
Demux(input, outputs)
Switch(control, input1, input2)

Mux combines multiple signals into one vector signal.

Demux splits one vector signal into multiple signals.

Switch selects between two signals based on a control signal.

Examples
Combines three signals into one vector signal.
Simulink
Mux([signal1, signal2, signal3])
Splits a vector signal into three separate signals.
Simulink
Demux(vectorSignal, 3)
Selects inputA if controlSignal is true, else inputB.
Simulink
Switch(controlSignal, inputA, inputB)
Sample Program

This example shows how to combine two signals into one vector using Mux, then split them back using Demux, and finally select one signal using Switch based on a control value.

Simulink
signal1 = [1, 2, 3]
signal2 = [4, 5, 6]

# Combine signals using Mux
muxed = [signal1, signal2]

# Split signals using Demux
demuxed = muxed

# Use Switch to select between signals
control = 1  # 1 means select first input
selected = signal1 if control else signal2

print('Muxed signal:', muxed)
print('Demuxed signals:', demuxed)
print('Selected signal:', selected)
OutputSuccess
Important Notes

In Simulink, Mux and Demux blocks handle vector signals, so signals must be compatible in size.

Switch block uses a control signal to choose which input passes through.

Proper signal dimensions are important to avoid errors in routing.

Summary

Signal routing organizes how signals flow in a model.

Mux combines signals, Demux splits signals, and Switch selects signals.

These blocks help keep complex models clear and manageable.

Practice

(1/5)
1. What is the main purpose of a Mux block in Simulink signal routing?
easy
A. To select one signal from multiple inputs based on a condition
B. To split one signal into multiple signals
C. To combine multiple signals into one signal
D. To delay a signal by a fixed time

Solution

  1. Step 1: Understand the function of Mux

    A Mux block takes several input signals and combines them into a single output signal vector.
  2. Step 2: Compare with other blocks

    Demux splits signals, Switch selects signals, and Delay delays signals. Only Mux combines signals.
  3. Final Answer:

    To combine multiple signals into one signal -> Option C
  4. Quick Check:

    Mux combines signals = C [OK]
Hint: Mux combines signals; Demux splits; Switch selects [OK]
Common Mistakes:
  • Confusing Mux with Demux
  • Thinking Switch combines signals
  • Assuming Mux delays signals
2. Which of the following is the correct way to connect a Demux block in Simulink?
easy
A. One input signal, multiple output signals
B. Multiple input signals, one output signal
C. Multiple input signals, multiple output signals
D. One input signal, one output signal

Solution

  1. Step 1: Recall Demux block behavior

    Demux takes a single input vector signal and splits it into multiple output signals.
  2. Step 2: Match with options

    Only One input signal, multiple output signals describes one input and multiple outputs, which fits Demux.
  3. Final Answer:

    One input signal, multiple output signals -> Option A
  4. Quick Check:

    Demux splits one input to many outputs = A [OK]
Hint: Demux splits one input into many outputs [OK]
Common Mistakes:
  • Reversing input and output roles
  • Confusing Demux with Mux
  • Assuming Demux has multiple inputs
3. Given the following Simulink model snippet:
Input1 = 3;
Input2 = 7;
Input3 = 5;
mux_out = Mux([Input1, Input2, Input3]);
demux_out = Demux(mux_out);

What will be the value of demux_out[1] (the second output of Demux)?
medium
A. 3
B. Error: Index out of range
C. 5
D. 7

Solution

  1. Step 1: Understand Mux output

    Mux combines inputs [3, 7, 5] into a vector: mux_out = [3, 7, 5].
  2. Step 2: Understand Demux output

    Demux splits mux_out back into separate outputs: demux_out[0]=3, demux_out[1]=7, demux_out[2]=5.
  3. Final Answer:

    7 -> Option D
  4. Quick Check:

    Second Demux output = 7 [OK]
Hint: Mux packs inputs; Demux unpacks in same order [OK]
Common Mistakes:
  • Mixing up output indices (0-based vs 1-based)
  • Assuming Demux changes order
  • Expecting error due to indexing
4. You have a Switch block with inputs: Input1=10, Input2=20, and a control signal Control=0.
If the Switch block is configured to output Input1 when Control is 0, but the output is always 20, what is the likely error?
medium
A. Control signal logic is inverted or misconfigured
B. Input1 and Input2 are swapped in the block
C. Switch block cannot handle numeric inputs
D. Control signal is not connected

Solution

  1. Step 1: Analyze expected Switch behavior

    With Control=0, output should be Input1=10, but output is 20 (Input2).
  2. Step 2: Identify cause of wrong output

    This suggests the control logic is inverted or misconfigured, causing the block to select Input2 when Control=0.
  3. Final Answer:

    Control signal logic is inverted or misconfigured -> Option A
  4. Quick Check:

    Wrong output means control logic error = D [OK]
Hint: Check control logic polarity if Switch output is unexpected [OK]
Common Mistakes:
  • Assuming inputs are swapped without checking control
  • Thinking Switch can't handle numbers
  • Ignoring control signal connection
5. You want to build a Simulink model that takes three sensor signals and selects one to output based on a control signal (0, 1, or 2). Which combination of blocks correctly achieves this?
hard
A. Use a Demux to split sensors, then multiple Switch blocks to select output
B. Use a Mux to combine sensors, then a Multiport Switch block with control signal to select output
C. Use a Mux to combine sensors, then a Switch block with control signal to select output
D. Use three Switch blocks each connected to one sensor, controlled by the same control signal

Solution

  1. Step 1: Understand the requirement

    We need to select one of three sensor signals based on a control signal with values 0, 1, or 2.
  2. Step 2: Evaluate block combinations

    A Multiport Switch block can select one input from many based on control. Combining sensors with Mux then using Multiport Switch fits this need.
  3. Step 3: Why other options fail

    Use a Mux to combine sensors, then a Switch block with control signal to select output uses a simple Switch which only selects between two inputs, not three. Use a Demux to split sensors, then multiple Switch blocks to select output uses Demux incorrectly. Use three Switch blocks each connected to one sensor, controlled by the same control signal uses multiple Switches but control signal can't select one cleanly.
  4. Final Answer:

    Use a Mux to combine sensors, then a Multiport Switch block with control signal to select output -> Option B
  5. Quick Check:

    Multiport Switch selects among many inputs = A [OK]
Hint: Use Multiport Switch for multiple input selection [OK]
Common Mistakes:
  • Using simple Switch for more than two inputs
  • Misusing Demux for selection
  • Trying multiple Switches with one control signal
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