New answers tagged

0

Okay, the issue was in the file writing, signal created correctly with the code. std::ofstream ofile("cw.iq", std::ios::out | std::ios::binary); ofile.write((char*)&iq[0], sizeof(short) * len * 2); ofile.close();


2

There is a way to do it, it is really similar to a moving average $N$ : number of samples per period $Z$ : Accumulator $x[n]$ : current sample $$Z[n] = Z[n-1]+ x[n]^2 - x[n-N]^2 $$ $$x_{RMS}[n] = \sqrt{\frac{1}{N}Z[n]}$$ Basically, you need a delay line to store the previous $x[n]$ samples or better yet the previous $x[n]^2$ samples and you need an ...


1

You say you're "a beginner" so I will suggest using Keras (https://keras.io/). It is written in Python and runs on top of Tensorflow which is a neural network toolbox written by Google. Keras allows you to build a network layer-by-layer in an easy way. For example, here is an example of building a 1D CNN (https://keras.io/examples/imdb_cnn/), please note ...


1

Let's give it a shot. We know that during sampling, we obtained a discretized version, $x(nT_s)$ of a continuous time signal $x(t)$ sampled every $T_s$ seconds. I will denote their corresponding Fourier Transforms as $X_{DT}(e^{j\omega})$ and $X_{CT}(j\Omega)$, respectively, according to the majority of the bibliography. Indices denote discrete time (DT) ...


3

Your proof is correct, and the result is that the system is time varying because the response to $x(t-t_0)$ does not in general equal a delayed response to the input $x(t)$. Of course, for the special case $t_0=2\pi k$ the delayed response to $x(t)$ equals the response to $x(t-t_0)$, but for time-invariance this equality must hold for any $t_0$.


2

Why not taking the definition of convolution and see what happens? $$y[n-n_0] = \sum_k x[k]r[n-n_0-k]$$ which gives $$y[n-n_0] = x[n]*r[n-n_0]$$ Also, since $x[n]*r[n] = r[n]*x[n]$, $$y[n-n_0] = \sum_k r[k]x[n-n_0-k]$$ which gives $$y[n-n_0] = r[n] * x[n-n_0]$$ So both (3) and (4) are correct.


3

Since $y[n-n_0] = y[n] \ast \delta [n - n_0]$ and convolution is both associative and distributive, is it not the case that $$ y[n-n_0] = \left(x[n] \ast r[n] \right) \ast \delta[n-n_0] = x[n] \ast r[n-n_0] = x[n-n_0] \ast r[n]? $$


0

I will go with $(4)$, since it is possible to build a system with $h[n-n_0]$


1

The reason one uses a complex signal at baseband is so that one can distinguish between positive and negative frequency...otherwise, when the signal is mixed to a higher frequency, it will have two identical sidebands, taking up twice the spectrum. Without knowing what you're modulating, I can only offer general advice...take your real baseband signal ...


0

The most direct way is to turn your transfer function into frequency response by setting $$s = j\Omega$$ and then $$H(j\Omega) = \frac{j\Omega - 1}{-\Omega^2 + 2j\Omega + 2}$$ So for $\Omega = 0$, you get $$H(0) = -\frac{1}{2}$$ which gives $|H(0)| = \frac{1}{2}$ and is in agreement with your figure. Similarly, for $\Omega = \pm 1$, you get $$H(\pm j1) = \...


Top 50 recent answers are included