# How to extract single side of signal spectrum in SIMULINK

Signal spectrum have two side, positive and negative. I want to make these separate in two signal, by MATALB SIMULINK. But how? I can't find it's block on DSP or communication toolbox. I found a block that interactively generate filter, but this filters response is conjugate symmetric and that's not my desire. As replica of Fat32 : Hilbert approach not worked?!! • what you're looking for sounds like the analytic signal; maybe that's a term that helps you find a good solution? – Marcus Müller Oct 7 '17 at 17:54
• I'm thinking yes, it's easiest answer. – mohammadsdtmnd Oct 8 '17 at 2:04

If you do not have a single side band separation block-diagram in Simulink, then you would try the following algorithm to separate the upper sideband from the lower sideband given that you have a block called Hilbert transformer.

Given that your original real valued baseband input signal is $x[n]$, then the following signal is called as the analytic signal:

$$x^+[n] = x[n] + j \hat{x}[n]$$ where $$\hat{x}[n] = \mathcal{H} \{x[n] \} = \frac{1}{\pi n} \star x[n]$$ is called as the Hilbert transform of the signal $x[n]$.

It can be shown that the Fourier spectrum of the analytic signal is: $$X^+(\omega) = \begin{cases} 2 X(\omega) &, \text{for } ~~~ 0 < \omega < \pi \\ 0 &, \text{for } ~~~ -\pi < \omega < 0\\ \end{cases}$$

Which is 2x the upper side band of the signal $x[n]$

• It seems right but why this is not working? I have used your approach but it not worked, I attached it picture to my question. – mohammadsdtmnd Oct 8 '17 at 2:48
• Matlab Hilbert function returns the analytic signal $x^+$ instead of the sole Hilbert transform of the signal $\hat{x}$ so you don't have to add $x$ to it. Look at your documentation to see if Siulink Hilbert block also does the same ? – Fat32 Oct 8 '17 at 6:42
• No, it's simply Hilbert transform and I'm shocked since its output isn't complex. – mohammadsdtmnd Oct 8 '17 at 13:01
• There's nothing to shock. The output of a (theoretical) Hilbert transform is real (given the input is real). What's complex is the analytic signal. Matlab function y=hilbert(x) however returns the complex analytic signal $x^+ = x + j \hat{x}$ instead – Fat32 Oct 8 '17 at 15:08
• Hilbert's command working differently since it told on it's document: Discrete-time analytic signal using Hilbert transform – mohammadsdtmnd Oct 8 '17 at 18:33