信号处理

为信号,图像和视频处理领域的艺术和科学从业者提供的问答

1
为什么这种莫尔图案看起来像这样?
我在Matlab中制作了Mobius转换的gif文件,并且一些奇怪的图案开始出现。我不确定是否需要对文件类型/算法有更深入的了解才能理解这种现象,但是我认为可能存在纯粹的数学解释。通过像棋盘一样给复杂平面着色,然后通过获取复杂共轭的倒数来反转图像来获得图像。这是给定缩放的图像的数学伪码kķk: checkerboard:C→{black,white}checkerboard(z):={blackwhiteif ⌊I(z)⌋+⌊R(z)⌋≡0mod2if ⌊I(z)⌋+⌊R(z)⌋≡1mod2image={z∈C:|R(z)|,|I(z)|≤1}color:image→{black,white}color(z):=checkerboard(k/z¯¯¯)棋盘:C→{黑色,白色}棋盘(ž):={黑色如果 ⌊ℑ(ž)⌋+⌊ℜ(ž)⌋≡0模2白色如果 ⌊ℑ(ž)⌋+⌊ℜ(ž)⌋≡1个模2图片={ž∈C:|ℜ(ž)|,|ℑ(ž)|≤1个}颜色:图片→{黑色,白色}颜色(ž):=棋盘(ķ/ž¯)\begin{align} &\mbox{checkerboard}:\mathbb C \to\{\mbox{black},\mbox{white}\}\\ &\mbox{checkerboard}(z):=\begin{cases} \mbox{black} & \mbox{if }\lfloor\Im(z)\rfloor+\lfloor\Re(z)\rfloor\equiv 0\mod 2\\ \mbox{white} & \mbox{if }\lfloor\Im(z)\rfloor+\lfloor\Re(z)\rfloor\equiv 1\mod 2 \end{cases}\\ &\mbox{image} = \{z\in\mathbb C:|\Re(z)|,|\Im(z)|\leq 1\}\\ &\mbox{color}:\mbox{image}\to\{\mbox{black},\mbox{white}\}\\ &\mbox{color}(z):=\mbox{checkerboard}(k/\overline{z}) \end{align} 这是,k = 50和k = 200的图片。每张图片的分辨率为1000 \ 1000。我没有信号处理方面的背景知识,但是我很想学习!k = 50 k = 200 1000 × 1000k=1ķ=1个k=1k=50ķ=50k=50k=200ķ=200k=2001000×10001000×10001000\times 1000 编辑: 更具体地说,为什么摩尔纹图案在某些点上与图片的分辨率“同步”? 莫尔纹可以预测吗?

2
图像重建:相位与幅度
图1.(c)仅显示了从MAGNITUDE光谱重建的测试图像。可以说,低频像素的强度值比高频像素高。 图1.(d)仅显示从PHASE光谱重建的测试图像。可以说,高频(边缘,线条)像素的强度值比低频像素更大。 为什么在仅从MAGNITUDE光谱重建的测试图像和仅从PHASE光谱重建的测试图像之间存在这种强度变化(或交换)的神奇矛盾,它们组合在一起形成原始测试图像? clc; clear all; close all; i1=imread('C:\Users\Admin\Desktop\rough\Capture1.png'); i1=rgb2gray(i1); f1=fftn(i1); mag1=abs(f1); s=log(1+fftshift(f1)); phase1=angle(f1); r1=ifftshift(ifftn(mag1)); r2=ifftn(exp(1i*phase1)); figure,imshow(i1); figure,imshow(s,[]); figure,imshow(uint8(r1)); figure,imshow(r2,[]); r2=histeq(r2); r3=histeq(uint8(r2)); figure,imshow(r2); figure,imshow(r3);

2
将Gabor滤镜应用于输入图像
我尝试应用具有特定比例的Gabor滤波器(根据我的lambda和sigma的值,所以它是(7x7)并针对4个方向(0,,ππ4π4\frac{\pi}{4}和3ππ2π2\frac{\pi}{2})输入灰度图像。3π43π4\frac{3\pi}{4} 在我的代码中,实现了三个步骤: 创建Gabor过滤器 读取RGB图像,然后将其转换为灰度,最后转换为两倍。 将创建的gabor应用于输入图像(在这里,我不确定我的代码是否正确,这就是为什么我需要您的意见) 1)--------------创建Gabor滤镜(大小= 7x7和4个方向) %define the five parameters theta=....; %either 0 or pi/4 or pi/2 or 3pi/4 lambda=3.5; gamma=0.3; sigma=2.8; psi=0; sigma_x = sigma; sigma_y = sigma/gamma; nstds = 5; xmax = max(abs(nstds*sigma_x*cos(theta)),abs(nstds*sigma_y*sin(theta))); xmax = ceil(max(1,xmax)); ymax = max(abs(nstds*sigma_x*sin(theta)),abs(nstds*sigma_y*cos(theta))); ymax = ceil(max(1,ymax)); xmin = -xmax; ymin = …

2
离散傅里叶变换的居中零频率
我正在开发一个图像处理应用程序,该应用程序使用离散傅立叶变换来实现模糊/锐化。该应用程序或多或少都可以正常工作,但是有关机制的某些内容仍然让我感到困惑。 尤其是如何完成对零频率居中的过程。 我看到的示例通过将输入图像与大小等于输入图像的矩阵相乘来预处理(灰度强度的)输入图像,其值是,其中是行,是列,因此模式交替和 x y(− 1 )x + y(−1)x+y(-1)^{x+y}Xxxÿyy111−1−1-1 根据说明,这等效于通过在和轴上翻转来交换矩阵的象限。xxxyyy 我知道为什么这样做,并且我想强调一下,我知道我的代码/傅立叶资料正在工作,我只是不明白为什么将输入矩阵乘以1 / -1会导致零频率分量围绕0居中。 谢谢


2
给定位置测量值,如何估算速度和加速度
我以为这很简单,但是我的幼稚方法导致了非常嘈杂的结果。我在一个名为t_angle.txt的文件中有以下示例时间和位置: 0.768 -166.099892 0.837 -165.994148 0.898 -165.670052 0.958 -165.138245 1.025 -164.381218 1.084 -163.405838 1.144 -162.232704 1.213 -160.824051 1.268 -159.224854 1.337 -157.383270 1.398 -155.357666 1.458 -153.082809 1.524 -150.589943 1.584 -147.923012 1.644 -144.996872 1.713 -141.904221 1.768 -138.544807 1.837 -135.025749 1.896 -131.233063 1.957 -127.222366 2.024 -123.062325 2.084 -118.618355 2.144 -114.031906 2.212 -109.155006 2.271 …

3
ADC性能仿真:如何从FFT计算SINAD?
在解决这个问题时,我开始怀疑我最初定义的 SINAD=10log10(pf∑i(pi)−p0−pf)dBSINAD=10log10⁡(pf∑i(pi)−p0−pf)dBSINAD = 10 \log_{10} \left( \frac{p_f} {\sum_i{(p_i)} - p_0 - p_f} \right)dB 是正确的。在式中,是频率为 FFT仓的功率,是包含信号频率的频率仓的功率,而是DC分量。在去除DC分量和信号频率之前,的总和累加所有频率分量。pxpxp_xxxxpfpfp_ffffp0p0p_0iiip0p0p_0pfpfp_f 更具体地说,我不确定部分,我是从Wikipedia描述中解释的∑i(pi)∑i(pi)\sum_i(p_i) (a)原始调制音频信号的功率(即来自调制射频载波的功率)与(b)剩余音频功率(即在去除原始调制音频信号之后剩余的噪声加失真功率)的比值。使用此定义,可以使SINAD级别小于1。 与等式相比,“原始调制音频信号”处于频率,这在FFT 的项中得到解释。我从以下论文中获得了项,该术语表示要除去DC分量:fffpfpfp_fp0p0p_0 在“了解SINAD,ENOB,SNR,THD,THD + N和SFDR”文档中,它说 信噪比(SINAD,即S /(N + D))是均方根信号幅度与所有其他频谱分量(包括谐波)的均方根(rss)的平均值之比,但不包括直流 查看这些定义,我可以想到SINAD的另一个可能的定义,即 SINAD=10log10⎛⎝⎜pf∑i(p2i)−−−−−−√−p0−pf⎞⎠⎟dBSINAD=10log10⁡(pf∑i(pi2)−p0−pf)dBSINAD = 10 \log_{10} \left( \frac{p_f} { \sqrt{ \sum_i{(p_i^2)} } - p_0 - p_f} \right)dB 它使用FFT结果的噪声和失真区间的RSS(均方根)。但是,那个文档中的“均值”到底是什么意思呢?
11 fft  noise 

2
在频域中确定信号的本底噪声
是否存在通过在频域中观察来确定信号本底噪声的公认方法?是对所有bin或中位数求平均值,还是对一些更复杂的计算(如下面的问题所述)进行平均? 确定频率峰值的最佳标准是什么? 我想确定本底噪声,以设置阈值来确定我的信号是否包含给定频率。

3
最常见的现代图像分割技术
我正在阅读一些有关图像分割技术的文章,并且想知道现代的,最新的分割算法。 当前哪些是“必读”(即社区中最常用)的细分技术?您与哪些技术接触并发现最有效和最有用的技术(以及针对哪种应用程序)?

9
单位步长序列
这个问题与我的另一个问题有关,在这个问题中,我要求导出单位步长序列的离散时间傅立叶变换(DTFT)。在搜寻导数期间,我发现了一个非常简单的导数。我在BA Shenoi 的这本书的第138页上第一次看到它。在这个答案中,我也在math.SE上也遇到了。u[n]u[n]u[n] 由于参数简短而简单,为方便起见,我将在此重复。 单位步长序列可以写为 其中 显然, 在两面都应用DTFT 给出 ,其中是的DTFT 。从得到 从和我们得到的DTFT。u[n]=f[n]+12(1)(1)u[n]=f[n]+12u[n]=f[n]+\frac12\tag{1}f[n]={12,n≥0−12,n&lt;0(2)(2)f[n]={12,n≥0−12,n&lt;0f[n]=\begin{cases}\frac12,\quad n\ge 0\\-\frac12,\quad n<0\end{cases}\tag{2}f[n]−f[n−1]=δ[n](3)(3)f[n]−f[n−1]=δ[n]f[n]-f[n-1]=\delta[n]\tag{3}(3)(3)(3)F(ω )( 1 − e- Ĵ ω) =1(4)(4)F(ω)(1个-Ë-Ĵω)=1个F(\omega)\left(1-e^{-j\omega}\right)=1\tag{4}F(ω)F(ω)F(\omega)f[n]f[n]f[n](4)(4)(4)F(ω)=11−e−jω(5)(5)F(ω)=11−e−jωF(\omega)=\frac{1}{1-e^{-j\omega}}\tag{5}(5)(5)(5)(1)(1)(1)u[n]u[n]u[n] U(ω)=F(ω)+πδ(ω)=11−e−jω+πδ(ω),−π≤ω&lt;π(6)(6)U(ω)=F(ω)+πδ(ω)=11−e−jω+πδ(ω),−π≤ω&lt;πU(\omega)=F(\omega)+\pi\delta(\omega)=\frac{1}{1-e^{-j\omega}}+\pi\delta(\omega),\quad -\pi\le\omega <\pi\tag{6} ,其中我曾使用,-\ pi \ le \ omega &lt;\ PI。DTFT{1}=2πδ(ω)DTFT{1}=2πδ(ω)\text{DTFT}\{1\}=2\pi\delta(\omega)−π≤ω&lt;π−π≤ω&lt;π-\pi\le\omega <\pi 等式 (6)(6)(6)对于u [n]的DTFT u[n]u[n]u[n]无疑是正确的。但是,推导是有缺陷的。 问题是:找到并解释以上推导中的缺陷。 请在答案前加上扰流器标签&gt;!。


4
如何使用OFDM进行符号同步?
我试图了解如何使用导频音,循环前缀或任何其他技术在OFDM中完成符号同步。 我已经阅读了以下提供一些解释的答案,但我仍然不完全理解。 如何解调OFDM信号 如何估计后续信道估计算法所需的抽头数量? 具体问题: 1)如何找到领航音?是什么使它与子载波上的常规数据不同?如何确定符号的开始和结束? 2)如果我正确理解了以上答案,则可以使用循环前缀来查找符号开始/结束,因为它会在一定的延迟后自动关联。但是,存在循环前缀以“吸收” ISI。因此,如果前缀已与ISI混淆,那么这种自相关如何成功?

3
边缘检测可以在频域中进行吗?
我们可以利用图像FFT中的高频分量通常对应于边缘这一事实来在傅立叶域中实现边缘检测算法吗?我确实尝试过将高通滤波器与图像的FFT相乘。尽管生成的图像种类对应于边缘,但它并不是使用卷积矩阵建立的边缘检测。那么,您有什么方法可以在傅立叶域中进行边缘检测,或者根本不可能?

2
高质量混响算法
我在该站点上做了一些搜索,但是令人惊讶的是,我没有找到太多相关信息,而且我对DSP的了解非常有限。 我的目标很简单:我想用C ++编写算法混响,听起来确实不错。或更准确地说,最好的选择是让最终用户选择质量和CPU使用率之间的权衡。 到目前为止,我发现要创建混响,必须将干燥信号输入早期反射算法,然后再输入后期反射算法。这个对吗 ? 现在,我使用了反馈延迟网络(使用时变反馈延迟网络减少了人工重塑需求),在后期反射部分找到了一篇广泛的文章。根据我的阅读,FDN是模拟后期反射的一种高质量但不太宽泛(CPU明智)的方式。此外,我想您可以通过更改延迟线的数量来控制质量/ cpu电荷的权衡。 但是,我绝对不知道如何对早期反射算法进行编程(还记得吗?我在DSP领域真的很无知)。 使用一种多重延迟在我看来是合乎逻辑的,它具有易于编程和计算便宜的优点。但这听起来太简单了,难以置信。 此外,我的直觉告诉我,信号路径中的某处必须包含一个或几个滤波器。 有人可以帮我澄清一下这个话题吗? 两个注意事项: 我根本不需要卷积混响。我并不是很在意混响的真实性,但是我想要一个听起来不错,可调整的混响,而不是渴望CPU的混响。 另外,编码部分并不是让我担心的,否则我会问stackoverflow。它实际上是DSP部分,也是我要关注的那部分:)
11 algorithms 

3
(实际)正弦波音调和脉冲的带宽是多少?
我想知道如何计算带宽: 恒定(真实)的正弦音调 一个(真实的)正弦脉冲。 问题就这么简单,但是我很难确定恒定音调的带宽应该从什么开始,从那里开始脉冲的带宽应该是多少。 在频域中,存在一个恒定的真实频率频率,它是两个增量函数,分别位于和,但是如何计算其带宽呢?ffffff−f−f-f 此外,关于脉冲,这是时间上的矩形函数,因此在频域中是正弦,所以它的带宽不就是,其中是脉冲的持续时间吗?1T1T\frac{1}{T}TTT

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.