PSI 3432 — P1 2022 \( \newcommand{\matn}[1]{\ensuremath{\left|\,\!\!\left|\,\!\!\left|#1\right|\,\!\!\right|\,\!\!\right|}} \newcommand{\real}{{\cal R}\!\mathit{e}} \newcommand{\imag}{{\cal I}\!\mathit{m}} \def\Zint{{\mathchoice{\setbox1=\hbox{\sf Z}\copy1\kern-.75\wd1\box1} {\setbox1=\hbox{\sf Z}\copy1\kern-.75\wd1\box1} {\setbox1=\hbox{\scriptsize\sf Z}\copy1\kern-.75\wd1\box1} {\setbox1=\hbox{\scriptsize\sf Z}\copy1\kern-.75\wd1\box1}}} \newcommand{\complex}{ \hbox{\rm C\kern-0.45em\rule[.07em]{.02em}{.58em}% \kern 0.43em}} \newcommand{\conv}{\ast} \newcommand{\kron}{\otimes} \newcommand{\field}[1]{\mathbb{#1}} \newcommand{\re}{\field{R}} \newcommand{\co}{\field{C}} \newcommand{\CO}{\field{C}} \newcommand{\RE}{\field{R}} \newcommand{\FE}{\field{F}} \newcommand{\fe}{\field{F}} \newcommand{\qa}{\field{Q}} \newcommand{\na}{\field{N}} \newcommand{\za}{\field{Z}} \newcommand{\eo}{\ensuremath{e_{\mathrm{o}}}} \newcommand{\wo}{\ensuremath{\symbf{w}_{\mathrm{o}}}} \newcommand{\lms}{{\sf LMS}\xspace} \newcommand{\nlms}{\sf {NLMS}\xspace} \newcommand{\rls}{\sf {RLS}\xspace} \newcommand{\bpr}{\ud{\bf Proof:}\xspace} \newcommand{\epr}{\hfill $\diamondsuit$} \newcommand{\cL}{\cal L} \newcommand{\eqdef}{\overset{\Delta}{=}} \newcommand{\ds}{\displaystyle} \newcommand{\pr}{\no {\bfseries Proof:}\xspace} \newcommand{\cd}{\cdot} \newcommand{\ovr}{\overline} \newcommand{\no}{\noindent} \newcommand{\beq}{\begin{equation}} \newcommand{\eeq}{\end{equation}} \newcommand{\bea}{\begin{align}} \newcommand{\eea}{\end{align}} \newcommand{\bean}{\begin{align*}} \newcommand{\eean}{\end{align*}} \newcommand{\bsp}{\begin{split}} \newcommand{\esp}{\end{split}} \newcommand{\bsq}{\begin{subequations}} \newcommand{\esq}{\end{subequations}} \newcommand{\bthm}{\begin{theorem}} \newcommand{\ethm}{\end{theorem}} \newcommand{\blem}{\begin{lemma}} \newcommand{\elem}{\end{lemma}} \newcommand{\nn}{\nonumber} \newcommand{\ba}{\left[ \begin{array}} \newcommand{\ea}{\\ \end{array} \right]} \newcommand{\bma}{\begin{bmatrix}} \newcommand{\ema}{\end{bmatrix}} \newcommand{\ov}{\bar} \newcommand{\ud}{\underline} \newcommand{\td}{(t-1)} \newcommand{\tl}{\tilde} \newcommand{\bb}{\cite} \newcommand{\ad}{{\rm \;\;\;\; and \;\;\;\;\;}} \newcommand{\qd}{\hfill{\qed}} \newcommand{\eproof}{\hfill$\qed$} \newcommand{\eproofopen}{\hfill$\Box$} \newcommand{\eexam}{\hfill$\diamondsuit$} \newcommand{\lan}{\langle} \newcommand{\ran}{\rangle} \newcommand{\cc}{\;\;,} %%%% Add comma \newcommand{\sql}{\bigl\{} % Sequence left curly brackets \newcommand{\sqr}{\bigr\}} % Sequence right curly brackets \newcommand{\pseudo}{+} % Para pseudo-inversas, é mais fácil de lembrar. \def\qed{{\ \vrule width 3.0mm height 3.0mm \smallskip}} \def\Az{\ensuremath{\symbf{A}}} \def\Bz{\ensuremath{\symbf{B}}} \def\Cz{\ensuremath{\symbf{C}}} \def\Dz{\ensuremath{\symbf{D}}} \def\Ez{\ensuremath{\symbf{E}}} \def\Fz{\ensuremath{\symbf{F}}} \def\Gz{\ensuremath{\symbf{G}}} \def\Hz{\ensuremath{\symbf{H}}} \def\Iz{\ensuremath{\symbf{I}}} \def\Jz{\ensuremath{\symbf{J}}} \def\Kz{\ensuremath{\symbf{K}}} \def\Lz{\ensuremath{\symbf{L}}} \def\Mz{\ensuremath{\symbf{M}}} \def\Nz{\ensuremath{\symbf{N}}} \def\Oz{\ensuremath{\symbf{O}}} \def\Pz{\ensuremath{\symbf{P}}} \def\Qz{\ensuremath{\symbf{Q}}} \def\Rz{\ensuremath{\symbf{R}}} \def\Sz{\ensuremath{\symbf{S}}} \def\Tz{\ensuremath{\symbf{T}}} \def\Uz{\ensuremath{\symbf{U}}} \def\Vz{\ensuremath{\symbf{V}}} \def\Wz{\ensuremath{\symbf{W}}} \def\Xz{\ensuremath{\symbf{X}}} \def\Yz{\ensuremath{\symbf{Y}}} \def\Zz{\ensuremath{\symbf{Z}}} \def\0z{\ensuremath{\symbf{0}}} \def\onez{\ensuremath{\symbf{1}}} \def\11{\symbf{\mathbbm{1}}} % \usepackage{bbm} \def\twoz{\ensuremath{\symbf{2}}} \def\threez{\ensuremath{\symbf{3}}} \def\fourz{\ensuremath{\symbf{4}}} \def\fivez{\ensuremath{\symbf{5}}} \def\sixz{\ensuremath{\symbf{6}}} \def\sevenz{\symbf{7}} \def\eightz{\symbf{8}} \def\ninez{\symbf{9}} \def\ellz{\ensuremath{\symbf{\ell}}} \def\az{\ensuremath{\symbf{a}}} \def\bz{\ensuremath{\symbf{b}}} \def\cz{\ensuremath{\symbf{c}}} \def\dz{\ensuremath{\symbf{d}}} \def\ez{\ensuremath{\symbf{e}}} \def\fz{\ensuremath{\symbf{f}}} \def\gz{\ensuremath{\symbf{g}}} \def\hz{\ensuremath{\symbf{h}}} \def\iz{\ensuremath{\symbf{i}}} \def\jz{\ensuremath{\symbf{j}}} \def\kz{\ensuremath{\symbf{k}}} \def\lz{\ensuremath{\symbf{l}}} \def\mz{\ensuremath{\symbf{m}}} \def\nz{\ensuremath{\symbf{n}}} \def\oz{\ensuremath{\symbf{o}}} \def\pz{\ensuremath{\symbf{p}}} \def\qz{\ensuremath{\symbf{q}}} \def\rz{\ensuremath{\symbf{r}}} \def\sz{\ensuremath{\symbf{s}}} \def\tz{\ensuremath{\symbf{t}}} \def\uz{\ensuremath{\symbf{u}}} \def\vz{\ensuremath{\symbf{v}}} \def\wz{\ensuremath{\symbf{w}}} \def\xz{\ensuremath{\symbf{x}}} \def\yz{\ensuremath{\symbf{y}}} \def\zz{\ensuremath{\symbf{z}}} \def\alphaz{\ensuremath{\symbf{\alpha}}} \def\betaz{\ensuremath{\symbf{\beta}}} \def\deltaz{\ensuremath{\symbf{\delta}}} \def\gammaz{\ensuremath{\symbf{\gamma}}} \def\xiz{\ensuremath{\symbf{\xi}}} \def\muz{\ensuremath{\symbf{\mu}}} \def\nuz{\ensuremath{\symbf{\nu}}} \def\epsilonz{\ensuremath{\symbf{\epsilon}}} \def\varepsilonz{\ensuremath{\symbf{\varepsilon}}} \def\thetaz{\ensuremath{\symbf{\theta}}} \def\omegaz{\ensuremath{\symbf{\omega}}} \def\lambdaz{\ensuremath{\symbf{\lambda}}} \def\phiz{\ensuremath{\symbf{\phi}}} \def\varphiz{\ensuremath{\symbf{\varphi}}} \def\sigmaz{\symbf{\sigma}} \def\rhoz{\symbf{\rho}} \def\etaz{\symbf{\eta}} \def\psiz{\symbf{\psi}} \def\zetaz{\symbf{\zeta}} \def\Deltaz{\ensuremath{\symbf{\Delta}}} \def\Xiz{\ensuremath{\symbf{\Xi}}} \def\Thetaz{\ensuremath{\symbf{\Theta}}} \def\Omegaz{\ensuremath{\symbf{\Omega}}} \def\Lambdaz{\ensuremath{\symbf{\Lambda}}} \def\Phiz{\ensuremath{\symbf{\Phi}}} \def\Piz{\ensuremath{\symbf{\Pi}}} \def\Psiz{\ensuremath{\symbf{\Psi}}} \def\Sigmaz{\symbf{\Sigma}} \def\Gammaz{\symbf{\Gamma}} \def\tauz{\symbf{\tau}} \def\Ax{{\mathrm{A}}} \def\Bx{{\mathrm{B}}} \def\Cx{{\mathrm{C}}} \def\Dx{{\mathrm{D}}} \def\Ex{{\mathrm{E}}} \def\Fx{{\mathrm{F}}} \def\Gx{{\mathrm{G}}} \def\Hx{{\mathrm{H}}} \def\Ix{{\mathrm{I}}} \def\Jx{{\mathrm{J}}} \def\Kx{{\mathrm{K}}} \def\Lx{{\mathrm{L}}} \def\Mx{{\mathrm{M}}} \def\Nx{{\mathrm{N}}} \def\Ox{{\mathrm{O}}} \def\Px{{\mathrm{P}}} \def\Qx{{\mathrm{Q}}} \def\Rx{{\mathrm{R}}} \def\Sx{{\mathrm{S}}} \def\Tx{{\mathrm{T}}} \def\Ux{{\mathrm{U}}} \def\Vx{{\mathrm{V}}} \def\Wx{{\mathrm{W}}} \def\Xx{{\mathrm{X}}} \def\Yx{{\mathrm{Y}}} \def\Zx{{\mathrm{Z}}} \def\ax{{\mathrm{a}}} \def\bx{{\mathrm{b}}} \def\cx{{\mathrm{c}}} \def\dx{{\mathrm{d}}} \def\ex{{\mathrm{e}}} \def\fx{{\mathrm{f}}} \def\gx{{\mathrm{g}}} \def\hx{{\mathrm{h}}} \def\ix{{\mathrm{i}}} \def\jx{{\mathrm{j}}} \def\kx{{\mathrm{k}}} \def\lx{{\mathrm{l}}} \def\mx{{\mathrm{m}}} \def\nx{{\mathrm{n}}} \def\ox{{\mathrm{o}}} \def\px{{\mathrm{p}}} \def\qx{{\mathrm{q}}} \def\rx{{\mathrm{r}}} \def\sx{{\mathrm{s}}} \def\tx{{\mathrm{t}}} \def\ux{{\mathrm{u}}} \def\vx{{\mathrm{v}}} \def\wx{{\mathrm{w}}} \def\xx{{\mathrm{x}}} \def\yx{{\mathrm{y}}} \def\zx{{\mathrm{z}}} \newcommand{\veps}{\ensuremath{\varepsilon}} \DeclareMathOperator{\cond}{cond} \DeclareMathOperator{\grau}{grau} \DeclareMathOperator{\eps}{eps} \DeclareMathOperator{\arctanh}{arctanh} \DeclareMathOperator{\arcctanh}{arcctanh} \DeclareMathOperator{\Trc}{Tr} \DeclareMathOperator{\diag}{diag} \DeclareMathOperator{\fxd}{fx} \DeclareMathOperator{\fl}{fl} \DeclareMathOperator{\quant}{Q} \DeclareMathOperator{\Prob}{Pr} \DeclareMathOperator{\E}{E} \DeclareMathOperator{\dif}{d} \DeclareMathOperator{\var}{var} \DeclareMathOperator{\vect}{vec} \DeclareMathOperator{\Range}{{\cal R}} \DeclareMathOperator{\Span}{Sp} \DeclareMathOperator{\Kernel}{{\cal N}} \DeclareMathOperator{\rank}{rank} \DeclareMathOperator{\posto}{posto} \DeclareMathOperator{\nulidade}{nul} \DeclareMathOperator{\col}{col} \DeclareMathOperator{\sinc}{sinc} \newcommand{\Lvert}{\left\lvert\left\lvert\left\lvert} \newcommand{\Rvert}{\right\rvert\right\rvert\right\rvert} \newcommand{\wtl}{\tilde{\wz}} \newcommand{\ztl}{\tilde{\zz}} \newcommand{\utl}{\tilde{\uz}} \newcommand{\wzh}{\hat{\wz}} \newcommand{\wtt}{\tilde{w}} \newcommand{\ztt}{\tilde{z}} \newcommand{\wth}{\hat{w}} \newcommand{\diffe}[3]{\frac{\dif^{#3} #2}{\dif #1^{#3}}} \newcommand{\stk}[2]{\genfrac{}{}{0pt}{2}{#1}{#2}} \DeclareMathOperator{\sen}{sen} \DeclareMathOperator{\sign}{sign} \DeclareMathOperator{\sinal}{sinal} \DeclareMathOperator{\sgm}{sgm} \newcommand{\hex}[1]{\ensuremath{(\text{#1})_{16}}} \newcommand{\dec}[1]{\ensuremath{(#1)_{10}}} \newcommand{\bin}[1]{\ensuremath{(#1)_{2}}} \newcommand{\cod}[1]{\texttt{#1}} \newcommand{\arquivo}[1]{\texttt{#1}} \newcommand{\menu}[1]{\textsc{#1}} \newcommand{\psdcod}[1]{\ensuremath{\text{ \underline{#1} }}} \)

PSI 3432 — P1 2022

Data de Publicação

6 de outubro de 2022

Código-fonte:
using Plots, DSP, LinearAlgebra, LaTeXStrings, Markdown, FFTW, DataFrames, OffsetArrays
pyplot()
mkdn = Markdown.parse
function rd(x; d=2)
    return round(x, digits = d)
end;

1 Questão

[3,5pt] Considere o sinal \( x(t) = \begin{cases} \cos(2\pi t), & -\frac{1}{4}\le t \le \frac{1}{4},\\ 0, & \text{caso contrário}. \end{cases} \)

1.1

[1,0pt] Calcule a transformada \(X(j\Omega)\) pela definição (usando a integral)

Solução:

\(\begin{align*} X(j\omega) &= \int_{-1/4}^{1/4}\cos(2\pi t) e^{-j\Omega t}dt = \frac{1}{2}\int_{-1/4}^{1/4}e^{j2\pi t} e^{-j\Omega t} dt + \frac{1}{2}\int_{-1/4}^{1/4}e^{-j2\pi t} e^{-j\Omega t}dt\\&=\left.\frac{1}{2j(2\pi-\Omega)}e^{j(2\pi-\Omega)t}\right|_{-1/4}^{1/4} =\frac{\sen\left(\pi/2-\Omega/4\right)}{2\pi-\Omega}+\frac{\sen\left(\pi/2+\Omega/4\right)}{2\pi+\Omega}\\&=\frac{1}{4}\sinc\left(\frac{1}{2}-\frac{\Omega}{2\pi}\right)+\frac{1}{4}\sinc\left(\frac{1}{2}+\frac{\Omega}{2\pi}\right)\\&=\frac{1}{4}\sinc\left(\frac{1}{2}-\frac{\Omega}{2\pi}\right)+\frac{1}{4}\sinc\left(\frac{1}{2}+\frac{\Omega}{2\pi}\right)\end{align*}\)


Em termos de \(f=\Omega/2\pi\), temos \( X(2\pi f) = \frac{1}{4}\sinc\left(\frac{f-1}{2}\right)+ \frac{1}{4}\sinc\left(\frac{f+1}{2}\right) \)

Código-fonte:
f = range(-25, 25, length = 500)
X = 0.5sinc.((f.-1)/2) + 0.5sinc.((f.+1)/2)
X1 = 0.5sinc.((f.-1)/2)
X2 = 0.5sinc.((f.+1)/2)
plot(f, X, label = L"X(j2\pi f)", ylabel = L"$f$ (Hz)",
     xlabel = L"f", linewidth = 3)
plot!(f, X1, label = L"0.5sinc.((f.-1)/2)" )
plot!(f, X2, label = L"0.5sinc.((f.+1)/2)")

1.2

Calcule a transformada \(X(j\Omega)\) usando convolução e propriedades.

Use para isto a função \( p_T(t) = \begin{cases} 1, & |t|\le T/2,\\ 0, & \text{caso contrário}. \end{cases} \)

1.2.1

[0,5pt] Calcule a transformada \(P_T(j\Omega)\).

Solução:

\( P_T(j\Omega) = \int_{-T/2}^{T/2}e^{-j\Omega t} dt = \frac{e^{-j\Omega\frac{T}{2}}-e^{j\Omega\frac{T}{2}}}{-j\Omega\textcolor{red}{\frac{2T}{2T}}}=T\frac{\sen\left(\Omega\frac{T}{2}\right)}{\Omega\frac{T}{2}} = T\frac{\sen(\pi f T)}{\pi f T} = T\sinc\left(f T\right). \)

Código-fonte:
T = 1/2
PT = T * sinc.(f * T)
plot(f, PT, xlabel = L"$f$ (Hz)", label = L"P_T(2\pi f)")

1.2.2

[0,5pt] Use propriedades das transformadas agora:

Note que \(x(t) = p_T(t)\cos(2\pi t)\). Use as transformadas de \(p_T(t)\) e \(\cos(2\pi t)\) e propriedades da TF para calcular \(X(j\Omega)\).

Solução:

A transformada de \(f(t)=\cos(2\pi t)\) é \(F(j\Omega)=\pi\delta(\Omega-2\pi) + \pi\delta(\Omega+2\pi)\). Como a transformada do produto é a convolução das transformadas, temos \(\begin{align*} X(j\Omega) &= F(j\Omega)\ast P_T(j\Omega) = \frac{1}{2\pi} \int_{-\infty}^{\infty} P_T\bigl(j(\Omega-z)\bigr) F(jz)dz\\ &= \frac{1}{2} P_T\bigl(j(\Omega-2\pi)\bigr) + \frac{1}{2} P_T\bigl(j(\Omega+2\pi)\bigr). \end{align*}\)

Compare o resultado com o do item anterior.

1.3

[0,5pt] Defina \(\tilde{y}(t) = \sum_{\ell=-\infty}^{\infty} x(t-\ell T_0)\). Desenhe um gráfico de \(\tilde{y}(t)\), supondo \(T_0>\frac{1}{2}\).

Solução:

Código-fonte:
t = range(-4, 4, length = 500)
T0 = 1
x = t -> abs(t) <= T/2 ? cos(2π*t) : 0.0
function (t, x, T0)
    y = zeros(length(t))
    for i in eachindex(t)
        tmod = t[i] - sign(t[i])*round(abs(t[i])/T0)*T0
        y[i] = x(tmod)
    end
    return y
end
plot(t, (t, x, T0), xlabel = L"t", label = L"\tilde{y}(t)", title = L"$\tilde{y}(t)$ para o caso de $T_0$="*"$T0")

1.4

[0,5pt] Determine a série de Fourier \(y_k\) a partir do \(X(j\Omega)\) calculado nos itens anteriores

Solução:

Veja que \(y_k = \frac{1}{T_0}\int_{T_0} \tilde{y}(t)e^{-j k\Omega_0 t}dt\), com \(\Omega_0 = 2\pi/T_0\). Comparando com \(X(j\Omega)\), vemos que \(y_k = X(jk\Omega_0)=X(j2\pi kf_0)\), e portanto, \( y_k = \frac{1}{2}\sinc\left(\frac{kf_0-1}{2}\right)+ \frac{1}{2}\sinc\left(\frac{kf_0+1}{2}\right) \)

Código-fonte:
k = -10:10
f0 = 1/T0
yk = T*sinc.((k*f0 .- 1)/2) + T*sinc.((k*f0 .+ 1)/2)
plot(k, yk, line = :stem, marker = (:circle, 2),
        label = L"y_k", xlabel = L"k")

1.5

[0,5pt] É possível amostrar \(\tilde{y}(t)\) sem rebatimento?

Solução:

Como \(y_k\) é diferente de zero para um número infinito de valores de \(k\), não é possível amostrar \(\tilde{y}(t)\) sem rebatimento. No entanto, podemos ver pelos gráficos que os valores de \(|y_k|\) decaem para zero relativamente rápido, portanto é possível escolher uma taxa de amostragem alta o suficiente de maneira que o erro causado pela amostragem seja pequeno. Neste caso é melhor usar um filtro anti-rebatimento (cortando frequências acima de \(f_a/2\)) para reduzir distorções.

2 Questão

[3,0pt] Considere o sinal \( \tilde{x}(t) = 2\cos(2\pi f_0 t + 30\degree) + 10\cos(2\pi 3f_0 t - 60\degree), \) em que \(f_0=1,5\)kHz.

Imagine que \(\tilde{x}(t)\) seja amostrado com \(f_a=15,5\)kHz, resultando na sequência \(x[n]=\tilde{x}(nT_a)\).

2.1

[1,0pt] A sequência \(x[n]\) é periódica? Qual é o seu período?

Solução:

Para a sequência ser periódica, \(z = f_a/f_0\) deve ser um número racional. Vejamos:

\(\frac{f_0}{f_a} = \frac{31}{3}\).

Portanto, o período de \(x[n]\) é \(N_0 = 31\).

2.2

[1,0pt] Quanto valem os coeficientes da série de Fourier de \(x[n]\)?

Solução:

Os coeficientes da série de Fourier neste caso são obtidos notando que em um período do sinal discreto temos \(Q\) períodos do sinal de tempo contínuo. Portanto,

Código-fonte:
display(mkdn("``Q = $Q``"))
xk = OffsetArray(zeros(6*Q+1, 2), -3Q:3Q, 1:2)
xk[-3Q:Q:3Q,:] = [5 60;0 0; 1 -30; 0 0; 1 30; 0 0; 5 -60]
dx = DataFrame()
dx[!, :k] = -3Q:Q:3Q
dx[!, "Módulo"] = xk[-3Q:Q:3Q, 1]
dx[!, "Fase"] = xk[-3Q:Q:3Q, 2]
display(mkdn("``x_k``:"))
dx

\(Q = 3\)

\(x_k\):

7 rows × 3 columns

k Módulo Fase
Int64 Float64 Float64
1 -9 5.0 60.0
2 -6 0.0 0.0
3 -3 1.0 -30.0
4 0 0.0 0.0
5 3 1.0 30.0
6 6 0.0 0.0
7 9 5.0 -60.0

2.3

[1,0pt] Suponha que você calcule a SFTD usando como número de pontos \(N=\) 2 períodos de \(x[n]\). Quais serão os valores da SFTD?

Solução:

Se \(N= 2 N_0=62\), então temos 2 períodos do sinal discreto na janela escolhida. Como \(Q=3\), as raias não nulas da SFTD serão em \(k=2\times 3\ell= 6\ell\), de modo que \(\tilde{X}[6\ell] = N x_\ell\ = 2N_0 x\ell\):

Código-fonte:
    N = 2N0
    n = 0:N-1
    Ta = 1/fa
    x = 2cos.(2π*f0 * n * Ta .+ π/6) .+
        10cos.(2π * 3*f0 * n * Ta .- π/3)
    X = fft(x)
    Xround = round.([abs.(X) angle.(X)*180/π .* (abs.(X) .> 1e-5)], digits = 2)
    display(mkdn("**Valores interessantes de ``\\tilde{X}[k]``:**"))
    df = DataFrame()
    indx = [range(0, step = L*Q, length=(2L*Q));
            range(stop = N-L*Q, step = L*Q, length = (2L*Q))]
    df[!,:k] = indx
    df[!,:Módulo] = Xround[indx .+ 1,1]
    df[!,:Fase] = Xround[indx .+ 1,2]
    df

Valores interessantes de \(\tilde{X}[k]\):

10 rows × 3 columns

k Módulo Fase
Int64 Float64 Float64
1 0 0.0 0.0
2 6 62.0 30.0
3 12 0.0 -0.0
4 18 310.0 -60.0
5 24 0.0 0.0
6 32 0.0 -0.0
7 38 0.0 -0.0
8 44 310.0 60.0
9 50 0.0 0.0
10 56 62.0 -30.0

3 Questão

[3,5pt] Suponha que você tenha um arranjo de \(M=4\) antenas, espaçadas de \(d = \lambda/2\).

Suponha que cheguem 3 sinais ao seu arranjo: \(\begin{align*} s_0(t) &= A_0(t)\cos(2\pi f_0 t + \varphi_0(t)), \text{ da direção }\theta_0 = 5\degree,\\ s_1(t) &= A_1(t)\cos(2\pi f_0 t + \varphi_1(t)), \text{ da direção }\theta_1 = 35\degree,\\ s_2(t) &= A_2(t)\cos(2\pi f_0 t + \varphi_2(t)), \text{ da direção }\theta_0 = -45\degree, \end{align*}\) com \(f_0 = 1\)GHz.

3.1

[0,5pt] Qual deve ser o valor de \(d\)?

Solução:

Código-fonte:
    f0 = 1e9
    c = 3e8
    λ = c/f0
    d = λ/2
0.15

3.2

[1,0pt] Se o sinal de interesse for \(s_0(t)\), escolha valores dos coeficientes do arranjo de antenas para garantir ganho 1 na direção \(\theta_0\), equalizando os atrasos de sinais vindos dessa direção.

Solução:

Código-fonte:
    θ0 = 5
    θ1 = 35
    θ2 = -45
    u = d * sind0) / c
    M = 4
    τ0 = 2π*f0 * (0:M-1) * u
    w = (1/M)*exp.(im*τ0)
4-element Vector{ComplexF64}:
                0.25 + 0.0im
  0.2406870601800214 + 0.06759984513220992im
  0.2134420875048099 + 0.13016326394797068im
 0.17029492830173515 + 0.18302906161237587im

Para achar os ganhos nas outras direções, podemos usar a expressão (válida para \(d = \lambda/2\)) \( B(\theta, \theta_0) = \frac{1}{M}e^{j\pi\frac{M-1}{2}(\sen(\theta)-\sen(\theta_0))} \frac{\sen\left(\pi M \frac{\sen(\theta)-\sen(\theta_0)}{2}\right)}{\sen\left(\pi \frac{\sen(\theta)-\sen(\theta_0)}{2}\right)}\)

Código-fonte:
B = (θ,θ0, M) -> (1/M) * exp(im * π * (M-1) * (sind(θ)-sind0))/2) * sin(π * M * (sind(θ)-sind0))/2) / sin(π * (sind(θ)-sind0))/2)
B1 = B10, M)
B2 = B20, M)
absB1 = round(abs(B1), digits = 4)
absB2 = round(abs(B2), digits = 4)
fB1 = round(angle(B1)*180/π, digits = 1)
fB2 = round(angle(B2)*180/π, digits = 1)
display(mkdn("O ganho na direção ``\\theta_1`` é $(round(B1, digits=4)), isto é,  $absB1 ``e^{$fB1\\degree j}``."))
display(mkdn("O ganho na direção ``\\theta_2`` é $(round(B2, digits = 4)), isto é, $absB2 ``e^{$fB2\\degree j}``."))

O ganho na direção \(\theta_1\) é -0.0203 + 0.0231im, isto é, 0.0308 \(e^{131.3\degree j}\).

O ganho na direção \(\theta_2\) é 0.2091 - 0.1434im, isto é, 0.2535 \(e^{-34.5\degree j}\).

3.3

[2,0pt] Supondo que a potência média de \(A_0(t)\) seja 2, a potência média de \(A_1(t)\) seja 3, e a de \(A_2(t)\) seja 5, quais serão as relações sinal/interferência antes e depois do arranjo?

Dica: considere os sinais independentes, de modo que você pode somar potências.

Solução:

Código-fonte:
    P0 = 2
    P1 = 3
    P2 = 5
    SIRentr = P0 / (P1 + P2)
    println("Relação Sinal/Interferência na entrada: ", rd(SIRentr))
Relação Sinal/Interferência na entrada: 0.25
Código-fonte:
    P0s = 2 * 1^2
    P1s = 3 * absB1^2
    P2s = 5 * absB2^2
    SIRs = P0s / (P1s + P2s)
    println("Relação Sinal/Interferência na saída: ", rd(SIRs))
Relação Sinal/Interferência na saída: 6.17
Zuletzt geändert: Mittwoch, 4. Oktober 2023, 20:39