我从事很多项目,有时候我更愿意删除我的本地存储库.但是,我偶尔使用秘密阶段(因为我需要检查我的存储库与服务器的不同之处),因此我受到限制.
是否有搜索我可以用来在秘密阶段找到变更集,还是我必须恢复到(慢)
hg log --debug | grep secret -B 2 -A 15
Run Code Online (Sandbox Code Playgroud) 我用Matlab.
我有一个正弦信号:
X(放大器:220 /频率:50)
我添加了3个谐波:
x1 =>(h2)amp:30/Freq:100 /相位:30°
x2 =>(h4)amp:10/Freq:200 /相位:50°
x3 =>(h6)amp:05/Freq:300 /相位:90°
我将所有信号加在一起(如X包含3个谐波),结果信号称为:Xt
这是代码:
%% Original signal
X = 220.*sin(2 .* pi .* 50 .* t);
%% Harmonics
x1 = 30.*sin(2 .* pi .* 100 .* t + 30);
x2 = 10.*sin(2 .* pi .* 200 .* t + 50);
x3 = 05.*sin(2 .* pi .* 300 .* t + 90);
%% adding the harmonics
Xt = X + x1 + x2 + x3;
Run Code Online (Sandbox Code Playgroud)
我想要做的是:找到3个谐波信号(它们的幅度,频率和相位),从求和信号Xt开始,知道基波信号 …
我正在调试一个外部JSF应用程序.问题是,我提交了一份表格,但价值没有结转.
使用阶段监听器,我可以看到生命周期没有完全运行,所以说它跳过阶段2 -5:在恢复视图阶段之后,直接调用渲染响应阶段.我想念应用值,验证,更新模型操作等等.
因此,这可能是一个鸡与蛋的问题:1.不会调用负责阶段,因此新表单输入无法结转.2.系统无法识别任何新输入,因此在恢复视图后直接渲染.
我检查了没有调用responseComplete()或者renderResponse()的调用.
我不知何故被卡住了.有任何想法验证两个假设之一吗?或者如何调试一般?有没有人有类似的问题?
我怀疑,JSF不知道回发请求,并像初始视图一样处理它.这可以解释,我只通过了第1阶段和第6阶段.
如果JSF将此识别为非面部请求,我该如何检查?
如果当前有适当的treeID,我该如何检查facesContext.
现在进行相位相关(两个图像)我使用1d变换.如何使用2d转换(它会更快?),如何使用智慧和multythread支持?如果你给代码的例子会更好.
void phase_correlation2D( IplImage* src, IplImage *tpl, IplImage *poc )
{
int i, j, k;
double tmp;
/* get image properties */
int width = src->width;
int height = src->height;
int step = src->widthStep;
int fft_size = width * height;
/* setup pointers to images */
uchar *src_data = ( uchar* ) src->imageData;
uchar *tpl_data = ( uchar* ) tpl->imageData;
double *poc_data = ( double* )poc->imageData;
//fftw_init_threads(); // for MT
//fftw_plan_with_nthreads(2);
/* allocate FFTW input and output arrays */
fftw_complex …Run Code Online (Sandbox Code Playgroud) 我有一个调幅信号的测量.我用fft() matlab函数分析了.在我用"书"计算一切之后,我只有一个问题.调制信号的相位不合适.只有当我从pi/2计算的相位中减去时,才能得到正确的值.调制信号是第六个组成部分:
X [6] = -8.2257e + 001 -1.6158e + 002i
相(x [6])= atan(-8.2257e + 001/-1.6158e + 002)= 1.0999
真正的阶段是: pahse(x[6])-pi/2 = -0.4709
之间有什么区别吗
cmath.phase()
Run Code Online (Sandbox Code Playgroud)
模块中的函数cmath,以及
np.angle()
Run Code Online (Sandbox Code Playgroud)
函数来自numpy.
我有在相关点具有等效间隔和相应测量值的数据。例如,这是我拥有的数据的摘录:
y =[2.118, 2.1289, 2.1374, 2.1458, 2.1542, 2.1615, 2.1627, 2.165 2.1687...]
点之间的间隔为 0.1
所以,我需要从数据中获取的是幅度谱(幅度与频率)和相位谱(相位角与频率)。此外,我应该将数据的相位偏移负 90 度 (-pi/2)。
在移动相位并保持幅度不变时,我需要执行逆 fft 并获得新信号。我想在 Python 中做到这一点。
你能给我一个执行此操作的示例吗?
我使用的代码取自另一个 SO 问题,但我做了一些修改
## Perform FFT WITH SCIPY
signalFFT = np.fft.fft(y)
## Get Power Spectral Density
signalPSD = np.abs(signalFFT) ** 2
signalPhase = np.angle(signalFFT)
## Shift the phase py +90 degrees
new_signalPhase =(180/np.pi)*np.angle(signalFFT)+90
## Get frequencies corresponding to signal
fftFreq = np.fft.fftfreq(len(signalPSD), 0.1)
## Get positive half of frequencies
i = fftFreq>0
##
plt.figurefigsize=(8,4)
#plt.plot(fftFreq[i], 10*np.log10(signalPSD[i]));
plt.plot(fftFreq[i], …Run Code Online (Sandbox Code Playgroud) 假设我有一系列类似于此的阶段:
import numpy as np
import matplotlib.pyplot as plt
phase = np.linspace(0., 100., 1000) % np.pi
plt.plot(phase)
plt.show()
Run Code Online (Sandbox Code Playgroud)
(有很多这样的不连续性)

如何从中获得一系列更"连续"的阶段?
当然,我已经尝试过np.unwrap:
plt.plot(np.unwrap(phase))
Run Code Online (Sandbox Code Playgroud)
要么
plt.plot(np.unwrap(phase),discont=0.1)
Run Code Online (Sandbox Code Playgroud)
但它保持完全相似:

我的期望是这样的展开:
下面是比较 fft 相位图与 2 种不同方法的代码:
import numpy as np
import matplotlib.pyplot as plt
import scipy.fftpack
phase = np.pi / 4
f = 1
fs = f*20
dur=10
t = np.linspace(0, dur, num=fs*dur, endpoint=False)
y = np.cos(2 * np.pi * t + phase)
Y = scipy.fftpack.fftshift(scipy.fftpack.fft(y))
f = scipy.fftpack.fftshift(scipy.fftpack.fftfreq(len(t)))
p = np.angle(Y)
p[np.abs(Y) < 1] = 0
fig, ax = plt.subplots(2, 1)
ax[0].plot(t, y)
ax[1].plot(f*fs, p, label='from fft')
ax[1].phase_spectrum(y, fs, window=None, label='from phase_spectrum')
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
这是结果:
这是当信号周期数不是整数时的结果:
我有几个问题:
我将FFT应用于每个图像.我提取了图像1和2的角度或相位.之后,我想交换两个图像之间的相位响应,但保持大小完整.我到目前为止的代码是:
Image1=double(imread('/home/anelmad/Desktop/ml/signal_images_processing/tp6/barbara.png'))/255;
Image2=double(imread('/home/anelmad/Desktop/ml/signal_images_processing/tp6/lena.bmp'))/255;
Image1=fft2(Image1);
Image2=fft2(Image2);
figure(1);
imshow(angle(Image1));
x=(angle(Image1));
angle(Image2)=x;
figure(2);
imshow(Image2);
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
error: assignment failed, or no method for '<unknown type> = matrix'
Run Code Online (Sandbox Code Playgroud)
我认为问题是我们应该修改傅里叶变换矩阵(fft2)中的复数.那是对的吗?