Bird
Raised Fist0
Simulinkdata~5 mins

Signal routing (Mux, Demux, Switch) in Simulink - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Signal routing (Mux, Demux, Switch)
O(n)
Understanding Time Complexity

We want to understand how the time to route signals changes as the number of signals grows.

How does adding more signals affect the work done by Mux, Demux, and Switch blocks?

Scenario Under Consideration

Analyze the time complexity of the following Simulink signal routing setup.

% Simulink model snippet
MuxBlock = mux(signal1, signal2, ..., signalN);
DemuxBlock = demux(MuxBlock, N);
SwitchBlock = switch(controlSignal, input1, input2);

This setup combines N signals into one vector, splits them back, and selects between two inputs based on a control signal.

Identify Repeating Operations

Look at the parts that repeat work as input size grows.

  • Primary operation: Combining or splitting N signals in Mux and Demux blocks.
  • How many times: Each signal is processed once during muxing and once during demuxing, so about 2N operations.
How Execution Grows With Input

As the number of signals N increases, the work grows roughly in direct proportion.

Input Size (n)Approx. Operations
10About 20 operations
100About 200 operations
1000About 2000 operations

Pattern observation: Doubling the number of signals roughly doubles the work needed.

Final Time Complexity

Time Complexity: O(n)

This means the time to route signals grows linearly with the number of signals.

Common Mistake

[X] Wrong: "The Switch block time grows with the number of signals like Mux and Demux."

[OK] Correct: The Switch block only selects between inputs based on a control signal, so its time does not grow with the number of signals.

Interview Connect

Understanding how signal routing scales helps you design efficient models and explain performance in real projects.

Self-Check

"What if the Mux combined signals in multiple stages instead of one? How would that affect the time complexity?"

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