0

I'm doing a little filter processing research and at one point I expand a signal by applying: $x^{4/3}$ to the signal which will only yield real outputs for real, positive inputs. Since $(x^a)^b = (x^b)^a $ and $(x^a)^b = x^{a \cdot b}$ I asked myself why can't I calculate $x^{4/3}$ by calculating $(x^4)^{1/3}$ of which $x^4$ will only yield positive values ? This way one could plug in negative values into the function? Would this function still correctly reverse $x = z^{3/4}$ ?

EDIT: I want to achieve only real number outputs, that's the reason for this whole thing

Alon
  • 143
  • 1
    As $x^{4/3}$ is an even function, it can't be inverted. –  Jul 12 '18 at 18:42
  • The goal is to invert $x^{3/4}$ , sort of: A signal is being compressed by $x^{4/3}$, $x$ being the signal. Then the compressed signals goes through a filter, which can yield negative values. Then, the signal is to be expanded again by applying $x^{4/3}$ . Problem is this doesn't work, so I figured I could use the procedure described above. – Alon Jul 12 '18 at 18:55
  • If you're compressing by $x^{4/3},$ shouldn't the uncompress be $x^{3/4}?$ – Adrian Keister Jul 12 '18 at 18:56
  • Sorry, typo. The compression exponent is 3/4, of course. Sorry for that. – Alon Jul 12 '18 at 18:57
  • Ah. Well, the problem is that if $x<0,$ then $x^{3/4}$ is a complex number. You're better off either trying a filter that doesn't yield negative values, or doing a different compression/expansion scheme. – Adrian Keister Jul 12 '18 at 18:58
  • Why don't you post the broader problem on M.SE? I think it would be of interest. – Adrian Keister Jul 12 '18 at 18:59
  • The signal, at the beginning, is a power signal - which is only positive. Thats's not the problem – Alon Jul 12 '18 at 19:00
  • What I said was that you're better off either using a different filter on the results of the $x^{4/3}$ compression, one that doesn't yield negative results, or use a different compression scheme that doesn't require you to compute an even root when inverting it. – Adrian Keister Jul 12 '18 at 19:04
  • That's good advice, separate from my question. Thanks for that. – Alon Jul 12 '18 at 19:06
  • @Empy2 why should I want to do that ? – Alon Jul 12 '18 at 19:09
  • (7/11 not 3/4) then both directions keep real numbers real – Empy2 Jul 12 '18 at 19:13
  • What? I just typed into matlab: (-1).^(7/11) which yields -0.4154 + 0.9096i how is that real? – Alon Jul 12 '18 at 19:16
  • There are 11 values, one is real. sign(x)*abs(x)^(7/11) – Empy2 Jul 12 '18 at 19:22

2 Answers2

0

When $x>0,$ there should be no issue. On some calculators you will have an issue doing $(x^4)^{1/3}$ versus $(x^{1/3})^4,$ because some calculators use logarithms to compute complex numbers.

In other words, your procedure is a good one to avoid running into complex numbers. I will say also that some calculators, particularly newer ones, don't have this problem to begin with and will calculate the answer correctly either way.

For $x=z^{3/4},$ if you want real outputs, then $z\ge 0,$ period. This procedure will not work. The difference is that fundamentally, with the first case, you're taking an odd root, which is defined for all real numbers. In the second case, you're taking an even root, which is only real-valued for non-negative numbers.

Adrian Keister
  • 10,099
  • 13
  • 30
  • 43
0

To work around the sign issue, use odd functions:

$$f(x)=\begin{cases}x\ge0\to x^{4/3},\\x\le0\to -(-x)^{4/3},\end{cases}$$ and

$$f^{-1}(x)=\begin{cases}x\ge0\to x^{3/4},\\x\le0\to -(-x)^{3/4}.\end{cases}$$

But from your description, the fact that the filter returns negative values meant to be powers seems to reveal a methological problem (this compression/filtering/decompression procedure might be inappropriate).

  • Thanks for you input! Yes, you are right... But some bandpass filters just have this transient response issue of overshooting into the negative when a step occurs from long lasting high variance to zero... The original compression / expansion pair was: ln(x) / exp(x), which had this problem removed by the exp(x) function which assigns negative values (which are generally not wished for) a very small output value - the new pair is from a research paper and I'm trying to figure out how the've made it work – Alon Jul 12 '18 at 19:24
  • @Alon: how can you undershoot a power ? You'd better clamp to $0$. Filtering in the compressed domain sounds weird. –  Jul 12 '18 at 19:31
  • https://imgur.com/a/VqbruUv look at this: Step function in blue, filter response in red – Alon Jul 12 '18 at 19:34
  • @Alon: what's the physical meaning ? This looks like DIY. –  Jul 12 '18 at 19:36
  • DIY? It's a bandpass filter - its applied to the rows (frequency bins) of a spectrogram - that is purely digital research in speech recognition, nothing physical. The results of the filtering are not ever going to be something physical again but be the input to a speech recognition module – Alon Jul 12 '18 at 19:41
  • @Alon: you are killing the DC component. Use odd functions. –  Jul 12 '18 at 19:48
  • The DC component must be killed, that's why it's a bandpass. What do you mean with odd functions? Please help me out a little, you seem to know a lot (I know what an odd function is, I mean: use it for what? ) – Alon Jul 12 '18 at 19:49
  • @Alon: hem, did you read my answer ? –  Jul 12 '18 at 19:50