问题列表 - 第43105页

使用帧之间的相位变换从FFT仓中提取精确的频率

我一直在浏览这篇精彩的文章:http://blogs.zynaptiq.com/bernsee/pitch-shifting-using-the-ft/

虽然太棒了,但它非常艰难而且沉重.这种材料真的让我感到舒服.

我从Stefan的代码模块中提取了数学,该代码模块计算给定bin的确切频率.但我不明白最后的计算.有人能告诉我最后的数学结构吗?

在深入研究代码之前,让我设置一下场景:

  • 假设我们设置fftFrameSize = 1024,所以我们处理512 + 1个bin

  • 例如,Bin [1]的理想频率适合帧中的单个波.在40KHz的采样率下,tOneFrame = 1024/40K秒= 1/40秒,因此Bin [1]理想地将采集40Hz信号.

  • 设置osamp(overSample)= 4,我们以256为步长沿着输入信号前进.因此,第一个分析检查字节0到1023,然后是256到1279等.注意每个浮点数被处理4次.

...

void calcBins( 
              long fftFrameSize, 
              long osamp, 
              float sampleRate, 
              float * floats, 
              BIN * bins
              )
{
    /* initialize our static arrays */
    static float gFFTworksp[2*MAX_FRAME_LENGTH];
    static float gLastPhase[MAX_FRAME_LENGTH/2+1];

    static long gInit = 0;
    if (! gInit) 
    {
        memset(gFFTworksp, 0, 2*MAX_FRAME_LENGTH*sizeof(float));
        memset(gLastPhase, 0, (MAX_FRAME_LENGTH/2+1)*sizeof(float));
        gInit = 1;
    }

    /* do windowing and re,im interleave */
    for (long k = 0; …
Run Code Online (Sandbox Code Playgroud)

c math signal-processing fft phase

25
推荐指数
4
解决办法
2万
查看次数

通过SMPP接收SMS

我有一个项目即将到来,我需要通过特定的移动运营商发送和接收消息,该运营商仅提供SMPP接口.整个项目将是一个托管网站.我已经阅读了很多内容,但我还不太了解我方需要使用该协议的实际内容.

我的应用程序是否应该尝试保持与smpp的持续连接?我可以简单地连接,发送消息然后断开连接吗?

是否正在接收基于推或拉的消息?

谢谢您的帮助.

smpp

9
推荐指数
2
解决办法
6146
查看次数

静态线程函数访问C++中的非静态类成员

Class Test{
    int value;
    static void* thread_func(void* args){
        value++;
    }
    void newthread(){
        pthread_create(&thread_func,...);
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个线程Class Test.因此编译器强迫我创建thread_func静态.但是我不能再访问非静态成员了" value".它说:

invalid use of member 'Class::value' in static member function
Run Code Online (Sandbox Code Playgroud)

有办法解决吗?

c++

4
推荐指数
1
解决办法
5610
查看次数

为什么邮件在PHP中失败?

这是我的代码:

<?php
//define the receiver of the email
$to = 'dannyfeher69@gmail.com';
//define the subject of the email
$subject = 'Test email';
//define the message to be sent. 
$message = "Hello World!\n\nThis is my mail.";
//define the headers we want passed. 
$header = "From: me@localhost.com";
//send the email
$mail_sent = @mail( $to, $subject, $message);
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 

echo $mail_sent ? "Mail sent" : "Mail failed";
?>
Run Code Online (Sandbox Code Playgroud)

- 它返回邮件失败

请帮我

php email

4
推荐指数
1
解决办法
2万
查看次数

Hashtable使用int数组作为java中的键

我正在尝试在java中创建一个哈希表,其中键是int [],但它不起作用.我做了一个小测试程序来显示我的问题:

public class test{
        public static void main(String[] args){
                int[] test0 = {1,1};
                int[] test1 = {1,1};
                Hashtable<int[], String> ht = new Hashtable<int[], String>();
                String s0 = "foo";

                ht.put(test0, s0);

                System.out.println("the result from ht.get(test1)");
                System.out.println(ht.get(test1));
                System.out.println("the result from ht.get(test0)");
                System.out.println(ht.get(test0));
        }
}
Run Code Online (Sandbox Code Playgroud)

我的意图是两个ht.get calles应该返回相同的结果,因为两个数组相等,但它们不相同.以下是运行代码的结果:

the result from ht.get(test1)
null
the result from ht.get(test0)
foo
Run Code Online (Sandbox Code Playgroud)

我在这里遗漏了什么,或者只是不可能将int []用作hastable中的键?

java int hashtable

7
推荐指数
1
解决办法
2万
查看次数

如何将char数组转换为单个整数?

我正在尝试阅读PNG文件的内容.

您可能知道,所有数据都以4字节方式写入png文件,包括文本和数字.因此,如果我们有数字35234,则以这种方式保存:[1000] [1001] [1010] [0010].

但有时数字较短,所以第一个字节为零,当我读取数组并将其从char*转换为整数时,我得到错误的数字.例如,[000]有时将数字误解为负数,将simetimes误解为零!

让我给你一个直观的例子:

char s_num[4] = {120, 80, 40, 1};

int  t_num = 0;

t_num = int(s_num);
Run Code Online (Sandbox Code Playgroud)

我希望我能很好地解释我的问题!

如何将这些数组转换为单个整数值?

好吧好吧,让我更改我的代码来更好地解释它:

char s_num[4] = {0, 0, 0, 13};
int  t_num;


t_num = *((int*) s_num);
cout << "t_num: " << t_num << endl;
Run Code Online (Sandbox Code Playgroud)

在这里我们必须得到13作为结果,好吗?但是再次使用这个新解决方案,答案是错误的,您可以在您的计算机上进行测试!我得到这个号码:218103808这绝对是错的!

c++ png integer casting char

8
推荐指数
2
解决办法
2万
查看次数

当MathJax中的"Processing Math"达到100%时如何触发javascript函数

Print()当js库MathJax完成处理访问过的网页时,我想调用一个javascript 函数.

目前Print()使用onload但是它似乎停止了MathJax的Processing Math任务(此处为demo ); 用户需要关闭浏览器的"打印"弹出窗口,以便让MathJax完成其处理.

我希望能够Print()在MathJax中的Processing Math达到100%时调用.
有任何想法吗?

javascript printing callback mathjax

9
推荐指数
1
解决办法
2402
查看次数

从android中的sdcard读取数据

我只是想在模拟器上显示来自sdcard的文件内容(如图像文件/视频文件/音乐文件那样).

以下是我的代码.

public class listfiles extends ListActivity {
 private ArrayList<String> item = null;
 private ArrayList<String> path = null;
 private String root="/";
 private TextView myPath;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sub);
        myPath = (TextView)findViewById(R.id.path);
        getDir(root);
    }

    private void getDir(String dirPath)
    {
     myPath.setText("Location: " + dirPath);

     item = new ArrayList<String>();
     path = new ArrayList<String>();

     File f = new File(dirPath);
     File[] files = f.listFiles();

     if(!dirPath.equals(root))
     {

      item.add(root);
      path.add(root);

      item.add("../");
      path.add(f.getParent());

     }

     for(int …
Run Code Online (Sandbox Code Playgroud)

android file

3
推荐指数
1
解决办法
2万
查看次数

如何在oracle中以dd/mm/yyyy格式将当前日期插入DATE字段

我的表中有一个字段,数据类型为Oracle中的DATE.我想以DD/MM/YYYY格式将当前日期插入该字段.

我尝试了以下查询:

select to_date(to_char(sysdate,'dd/mm/yyyy'),'dd/mm/yyyy') from dual
Run Code Online (Sandbox Code Playgroud)

但它给出了

1/8/2011 12:00:00 AM.
Run Code Online (Sandbox Code Playgroud)

我希望它插入并显示为

08/01/2011 12:00:00 AM.
Run Code Online (Sandbox Code Playgroud)

请问有人帮我吗?

oracle timestamp date date-format

2
推荐指数
1
解决办法
9万
查看次数

XML验证器库

XML在我的应用程序中使用了一些自己的XML解析器(来自ClanLib库).

问题是:解析器无法验证XML,如果出现任何错误,它将失败.我需要一些验证器,它会说是否XML有效并且(最好)显示错误.

c++ xml validation

3
推荐指数
1
解决办法
5608
查看次数